请使用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开始计算。(负数表示之前的时间。)

浙公网安备 33010602011771号