js计算两个时间相差天数,获取时间的毫秒数之差

1)Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-45),则返回值为NaN。

//dateString1是2006-12-18格式
2)function getDaysBetween(dateString1,dateString2){
var startDate = Date.parse(dateString1);
var endDate = Date.parse(dateString2);
var days=(endDate - startDate)/(12460601000);
// alert(days);
return days;
}

//两个时间相差天数 兼容firefox chrome
3) function datedifference(sDate1, sDate2) { //sDate1和sDate2是2006-12-18格式
var dateSpan,
tempDate,
iDays;
sDate1 = Date.parse(sDate1);
sDate2 = Date.parse(sDate2);
dateSpan = sDate2 - sDate1;
dateSpan = Math.abs(dateSpan);
iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
return iDays
};
4)格式化时间转换为时间戳的三种方法

var timestamp1 = Date.parse(new Date());
var timestamp2 = (new Date()).valueOf();
var timestamp3 = new Date().getTime();

第一种:获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫秒的时间戳。

入坑解答:

上面三种方法中Date.parse()方法在ios中有一个小坑,就是对 '2018-12-25 18:00' 这种,年月日以横杠连接格式的日期不起作用,得到的结果是NaN。

原文地址:https://www.cnblogs.com/sunny3158/p/14263869.html