Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';在移动浏览器中不显示日期差异_Javascript_Angularjs_Datetime_Mobile Browser - Fatal编程技术网

Javascript Can';在移动浏览器中不显示日期差异

Javascript Can';在移动浏览器中不显示日期差异,javascript,angularjs,datetime,mobile-browser,Javascript,Angularjs,Datetime,Mobile Browser,在我的应用程序中,我需要为此计算人的年龄,我得到的是当前日期和他们的生日,单位为毫秒。计算日期差异并将其转换为年 $scope.getAge=function(birthday){ if (birthday!=undefined&&birthday!="") { var date = birthday.split('-'); var currentDate = new Date(); var convertedBD= new Date(date[1]+"-"+date

在我的应用程序中,我需要为此计算人的年龄,我得到的是当前日期和他们的生日,单位为毫秒。计算日期差异并将其转换为年

$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值。我无法找出问题所在。

请尝试.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);

}

现在它在安卓系统上运行良好,但在iphone上问题仍然存在。我在iphone上也尝试了谷歌Chrome。工作起来很有魅力!