关于计算两个日期之间差值的潜在应用程序有很多,在JavaScript中实现此功能非常简单。
核心是Date对象的getTime方法,用于返回从 1970 年 1 月 1 日午夜到指定日期之间的毫秒数。
Date.getTime()原理是把已知的两个日期都转换成时间戳,然后相减就可得到差值。
具体用实例来展示使用方式。
1.距离五一劳动节还有几天?
var today = new Date();
var month = 4; // 月份范围是0-11,所以五一劳动节的月份是4
var day = 1;
var target = new Date(today.getFullYear(), month, day);
var temp = 1000 * 60 * 60 * 24; // 一天的毫秒数
// 如果今年劳动节已经过去,则计算下一年的劳动节
if (today.getMonth() > month || ( today.getMonth() == month && today.getDate() > day)) {
target.setFullYear(target.getFullYear() + 1 );
}
console.log('还有: ' + Math.ceil((target.getTime() - today.getTime()) / temp) +
"天");2.2008年北京奥运会过去过久了?
var millennium = new Date(2008, 7, 8); // 时间是2008年8月8日,注意月份
var today = new Date();
var temp = 1000 * 60 * 60 * 24;
console.log(Math.ceil((today.getTime() - millennium.getTime()) / temp) + '天');