javascript - 用 JavaScript 比较两个日期

标签 javascript date datetime compare

有人可以建议一种方法来使用 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/

相关文章:

java - SimpleDateFormat 未按预期工作

javascript - 使用 JQuery 计时器调用 js-function

javascript - 在我的网站上创建一个可缩放的修改按钮

javascript - 如何使用 SVG 元素的类名获取它

java - 比较 2 个日期 javafx

java - 使用正则表达式解析日期

javascript - JS 内部无法访问iron-router 数据

c# - 日、月、日、年的日期格式

c# - 用户日期时间设置为 GMT,如何将日期转换为本地化设置?

swift : Convert 12hr time to 24hrs when device is in 12hrs formate