有人可以建议一种使用 JavaScript 比较两个日期 大于、小于和不在过去的值的方法吗?这些值将来自文本框。
最佳答案
Date object会做你想做的 - 为每个日期构造一个,然后使用 >
比较它们, <
, <=
或 >=
.
==
, !=
, ===
, 和 !==
运营商要求您使用 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); // prints false (wrong!)
console.log(d1 === d2); // prints false (wrong!)
console.log(d1 != d2); // prints true (wrong!)
console.log(d1 !== d2); // prints true (wrong!)
console.log(d1.getTime() === d2.getTime()); // prints true (correct)
不过,我建议您使用下拉菜单或一些类似的受限形式的日期输入而不是文本框,以免您陷入输入验证的困境。
对于好奇的人, date.getTime()
documentation :
Returns the numeric value of the specified date as the number of milliseconds since January 1, 1970, 00:00:00 UTC. (Negative values are returned for prior times.)
关于javascript - 使用 JavaScript 比较两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57040555/