JS一千问(4):如何计算两个日期之间的差值?

关于计算两个日期之间差值的潜在应用程序有很多,在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) + '天');

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注