当前位置:  开发笔记 > 编程语言 > 正文

如何在Javascript中进行日期比较?

如何解决《如何在Javascript中进行日期比较?》经验,为你挑选了3个好方法。

可以使用其他数据类型使用的相同比较运算符来比较JavaScript的日期:>,<,<=,> =,==,!=,===,!==.

如果你有两个日期A和B,那么A

但听起来你遇到的麻烦就是将字符串变成日期.您只需将字符串作为新Date的参数传递即可:

var someDate = new Date("12/03/2008");

或者,如果您想要的字符串是表单字段的值,因为它似乎可能是:

var someDate = new Date(document.form1.Textbox2.value);

如果该字符串不是JavaScript识别为日期的字符串,您仍将获得Date对象,但它将"无效".与其他日期的任何比较都将返回false.转换为字符串时,它将变为"无效日期".它的getTime()函数将返回NaN,并且在日期本身调用isNaN()将返回true; 这是检查字符串是否为有效日期的简便方法.



1> matt b..:
if (date1.getTime() > date2.getTime()) {
    alert("The first date is after the second date!");
}

引用Date对象


看起来chrome和firefox支持`date1> date2`,也就是说没有getTime()部分.有人知道其他浏览器吗?
我有这个建议,但getTime函数返回一个未定义的值.我不认为我完全理解getTime().那应该是预定义的功能吗?

2> Vladimir Shm..:
new Date('1945/05/09').valueOf() < new Date('2011/05/09').valueOf()



3> Will Wagner..:

可以使用其他数据类型使用的相同比较运算符来比较JavaScript的日期:>,<,<=,> =,==,!=,===,!==.

如果你有两个日期A和B,那么A

但听起来你遇到的麻烦就是将字符串变成日期.您只需将字符串作为新Date的参数传递即可:

var someDate = new Date("12/03/2008");

或者,如果您想要的字符串是表单字段的值,因为它似乎可能是:

var someDate = new Date(document.form1.Textbox2.value);

如果该字符串不是JavaScript识别为日期的字符串,您仍将获得Date对象,但它将"无效".与其他日期的任何比较都将返回false.转换为字符串时,它将变为"无效日期".它的getTime()函数将返回NaN,并且在日期本身调用isNaN()将返回true; 这是检查字符串是否为有效日期的简便方法.


这不适用于==(至少在firefox上).直接比较两个日期总是返回false,你必须使用上面提到的getTime().
新日期("12/1/2015")!==新日期("2015年12月1日"),所以说你比较像其他数据类型这样的javascript日期充其量是误导性的.Downvoted.
在Visual Studio 2010中javascript调试器:`?(新日期('1995-02-04T24:00')==新日期('1995-02-05T00:00')); false`但是`?(new Date('1995-02-04T24:00').getTime()== new Date('1995-02-05T00:00').getTime()); TRUE`
==,!=,===,!===不起作用.此外,没有!===运算符.
推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有