请使用JavaScript比较两个日期的代码

发布时间 2023-11-05 22:01:33作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=请使用JavaScript比较两个日期的代码

有人能提供一种使用JavaScript比较两个日期值大于、小于和不在过去的方法吗?这些值将来自文本框。


使用JavaScript比较两个日期值大于、小于和不在过去的方法如下:

使用Date对象,可以为每个日期构造一个对象,然后使用><<=>=进行比较。

而使用==!====!==操作符时,需要使用date.getTime()方法,例如:

var d1 = new Date();
var d2 = new Date(d1);
var same = d1.getTime() === d2.getTime();
var notSame = d1.getTime() !== d2.getTime();

需要注意的是,直接使用日期对象进行相等性检查是不正确的:

var d1 = new Date();
var d2 = new Date(d1);

console.log(d1 == d2);   // 输出 false(错误!)
console.log(d1 === d2);  // 输出 false(错误!)
console.log(d1 != d2);   // 输出 true(错误!)
console.log(d1 !== d2);  // 输出 true(错误!)
console.log(d1.getTime() === d2.getTime()); // 输出 true(正确!)

因此,建议使用下拉菜单或其他类似的受限日期输入形式,以免陷入输入验证的困境。


对于好奇者,date.getTime()文档的说明如下:

返回指定日期的数值表示,以毫秒为单位,从1970年1月1日00:00:00 UTC开始计算。(负数表示之前的时间。)