2017-01-26 68 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"; 
}} 

這工作完全在谷歌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上的谷歌瀏覽器。 –

+1

檢查編輯並查看 – dev8080

+0

像魅力一樣工作! –

相關問題