有人可以建议一种方法来使用 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)
不过,我建议您使用下拉菜单或一些类似的受限日期输入形式而不是文本框,以免您陷入输入验证 hell 。
对于好奇的人, 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/492994/