以“yyyy-MM-dd”格式为例,现在有两个日期,分别为“2006-01-01”,“2007-05-20”。
1、调用Date.parser()方法,将字符串格式的时间戳转换为Date类型时间对象;
2、调用DateObject.getTime()方法获取两个Date的毫秒数;
3、计算两个毫秒数的差;
4、使用Math.abs()方法,取差值的绝对值;
5、将毫秒数转换为天数,也就是用毫秒数除以(1000*60*60*24),最终得到的结果用parserInt()转为整型;
6、计算结束。
示例代码如下:
function getDateDiff(startDate, endDate) { // 将字符串转为Date对象,并获取毫秒数; var startTime = new Date(Date.parse(startDate)).getTime(); var endTime = new Date(Date.parse(endDate)).getTime(); // 计算毫秒数的差,并换算成天数; var diff = Math.abs(startTime - endTime); var days = parseInt(diff / (1000 * 60 * 60 * 24), 10); return days; }