2017-01-26 13 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); 

解析のためにこれを試してみてください:

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で続きiPhoneでGoogle Chromeも試しました。 –

+1

編集をチェックし、 – dev8080

+0

を参照してくださいチャームのように働く! –

関連する問題