2017-01-26 7 views
0

В моем приложении мне нужно рассчитать возраст людей для этого. Я получаю текущую дату и дни их рождения в милисекундах. Вычисление разности дат и преобразования его в годыНевозможно показать разницу дат в мобильных браузерах

$scope.getAge=function(birthday){ 
if (birthday!=undefined&&birthday!="") { 
    var date = birthday.split('-'); 
    var currentDate = new Date(); 
    var convertedBD= new Date(date[1]+"-"+date[0]+"-"+date[2]); 
    var diff = Math.abs(currentDate-convertedBD)/(1000*60*60*24*365); 
    return Math.round(diff); 
} 
else { 
    return "0"; 
}} 

Это отлично работает на настольном браузере и мобильного просмотра в Google Chrome, но когда я проверить его на реальном мобильном устройстве он показывает NaN для каждого значения. Я не мог понять, в чем проблема.

ответ

1

Попробуйте .getTime(), которая явно требующую для части миллисекунд Даты:

var diff = Math.abs(currentDate.getTime() - convertedBD.getTime())/(1000*60*60*24*365); 

Try это для синтаксического анализа:

if (birthday!=undefined&&birthday!="") { 
    var date = birthday.split('-'); 
    var currentDate = new Date(); 
    var convertedBD= new Date(parseInt(date[2]), parseInt(date[1]), parseInt(date[0])); 
    var diff = Math.abs(currentDate-convertedBD)/(1000*60*60*24*365); 
    return Math.round(diff); 

}

+0

Сейчас он работает нормально на Android, но проблема все еще продолжается в iphone. Я попробовал Google Chrome на iphone тоже. –

+1

проверить изменения и посмотреть – dev8080

+0

Работаю как шарм! –

 Смежные вопросы

  • Нет связанных вопросов^_^