【问题标题】:How to test if a Date object is equal to a specific date如何测试 Date 对象是否等于特定日期
【发布时间】:2012-07-06 16:11:00
【问题描述】:

确定Date 对象是否等于2012 年7 月4 日的最佳(最清晰、最短、最快等)方法是什么?

例如,这可行,但相当冗长:

if (date.getFullYear() === 2012 && date.getMonth() + 1 === 7 && date.getDate() === 4)

有没有更优雅的解决方案?

(在我的实际场景中,服务器端代码将插入特定日期以进行测试。此外,date 来自 jQuery UI 日期选择器,因此时间组件为 00:00:00。 )

【问题讨论】:

    标签: javascript date jquery-ui-datepicker


    【解决方案1】:

    构造一个新的日期并比较getTime的结果:

    var existingDate = new Date('2012', '6', '4');
    new Date('2012', '6', '4').getTime() == existingDate.getTime();
    

    【讨论】:

    • 在第二个例子中,'7/4/2012' 是否保证被解析为 M/D/YYYY?
    • 不,这很好。它是特定于系统和语言环境的。使用new Date('2012-07-04T00:00:00').getTime() == existingDate.getTime() 可能会有更好的运气,但通常最好使用单独的参数构造。我想我会删除第二部分。如果有人想看到它,它会在编辑历史记录中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2014-01-28
    • 2011-11-22
    相关资源
    最近更新 更多