两个日期间隔天数在手机是null,在IDE正确是什么原因?
发布于 7 年前 作者 tao80 19785 次浏览 来自 问答

我在util.js中加入了求日期间隔的方法:

//计算天数差的函数,通用  

function DateDiff(sDate1, sDate2) {    //sDate1和sDate2是2006-12-18格式  

  var aDate, oDate1, oDate2, iDays

  aDate = sDate1.split("-")

  oDate1 = new Date(aDate[1] + ‘-’ + aDate[2] + ‘-’ + aDate[0])    //转换为12-18-2006格式  

  aDate = sDate2.split("-")

  oDate2 = new Date(aDate[1] + ‘-’ + aDate[2] + ‘-’ + aDate[0])

  iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24)    //把相差的毫秒数转换为天数  

  return iDays

}    

在IDE中是没错误的,但是在手机中会是null,这是什么原因?

8 回复

你的意思是把‘-’换成‘,’,是吗

我试试看

等我在找点别的机器实验下

不行,还是null

//计算天数差的函数,通用  

function DateDiff(sDate1, sDate2) {  

  var t1=new Date(sDate1).getTime()

  var t2 = new Date(sDate2).getTime()

  var  iDays = parseInt(Math.abs(t1 - t2) / 1000 / 60 / 60 / 24)    //把相差的毫秒数转换为天数   

  return iDays

}    

好了,是我使用的方法的问题

new Date(2017,6,29,12,0,0)这样是可以的

new Date(‘2017-6-29 12:00:00’) 这样不行

苹果的手机不可以,android可以,那么就是我方法的问题,我要重新改造下先。谢谢帮忙了

苹果的时间日期间隔符请用 “/”

之前有人提到过这个问题,你可以搜索看看

android的可以,我的ipone5有问题

回到顶部