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)

不过,我建议您使用下拉菜单或一些类似的受限形式的日期输入而不是文本框,以免您陷入输入验证的困境。


对于好奇的人, 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/

相关文章:

javascript - 我必须将我想要在 Eclipse 上的动态 Web 项目中使用的 xml 文件放在哪里?

javascript - 如何用无限循环来显示这个函数?

ios - 如何根据NSDate计算年龄

javascript - Jquery - 自动将当年月份添加到下拉列表

java - 就内存和性能而言,在 Java 中每秒打印格式化日期+时间的最有效方法是什么?

c# - 您将如何以国际格式格式化 DateTime?

javascript - 使用FineUploader,我可以用指定文件夹中的文件预先填充上传区域吗?

javascript - Heroku 与 Express/Nodejs 崩溃?

java - Java 中的 RFC822 时区解析

收到格式错误的 IOS 设备时间字符串