有人能提供一种使用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()
文档的说明如下:
标签:getTime,代码,JavaScript,日期,var,d2,d1 From: https://www.cnblogs.com/xiaomandujia/p/17811308.html返回指定日期的数值表示,以毫秒为单位,从1970年1月1日00:00:00 UTC开始计算。(负数表示之前的时间。)