Safari与非苹果设备下通过 js 计算时间差的不同方式

1,266 阅读1分钟
//计算两个日期(yyyy-MM-dd HH:mm:ss格式)的时间差,以秒数为单位
function dateDif(startdate, enddate){
    var date = new Date(enddate.replace(/-/g,'/')).getTime() - new Date(startdate.replace(/-/g,'/')).getTime();
    var seconds = date / 1000;
    return seconds;
}

一开始用的是new Date(enddate).getTime() - new Date(startdate).getTime()来计算,在APP端以及谷歌浏览器中都没问题,但是在苹果手机的Safari浏览器中计算出的数值是NaN。

new Date(date).getTime()在苹果手机上是不兼容的,所以得用这种方式做兼容:

new Date(date.replace(/-/g,'/')).getTime()