【问题标题】:How to get the minimum and maximum date如何获得最小和最大日期
【发布时间】:2014-11-23 19:13:03
【问题描述】:

如何获得最小和最大的日期。我看到最小的数字可以这样得到:

Number.MIN_VALUE

日期没有这个。有没有办法找到最小和最大的日期

【问题讨论】:

    标签: javascript momentjs


    【解决方案1】:

    日期没有这个

    实际上,确实如此,但只是间接的。根据the specification,Date 对象的毫秒自时间值只能在 -8640000000000000 到 8640000000000000 的范围内。

    所以最短日期是new Date(-8640000000000000)(星期二,4 月 20 日 -271821 00:00:00 GMT),最长日期是 new Date(8640000000000000)(星期六,9 月 13 日 00:00:00 GMT)。

    如果您愿意,可以将它们作为属性放在Date 函数中:

    Date.MIN_VALUE = new Date(-8640000000000000);
    Date.MAX_VALUE = new Date(8640000000000000);
    

    ...但是由于Date 实例是可变的,我可能不会,因为很容易意外地修改其中一个。另一种方法是这样做:

    Object.defineProperties(Date, {
        MIN_VALUE: {
          value: -8640000000000000 // A number, not a date
        },
        MAX_VALUE: {
          value: 8640000000000000
        }
    });
    

    这定义了Date 上不能更改的属性,这些属性具有日期的最小/最大数值。 (在支持 ES5 的 JavaScript 引擎上。)

    【讨论】:

    • 天啊,你必须有一个颠倒的大脑才能想到这个@T.J.克劳德!你的答案只有1个问题,如果275760年到来了,会发生什么? :P 很好的答案!
    • @evilReiko:这是 JavaScript Date 对象的问题,不是我的答案。 ;-)
    • @evilReiko 希望届时能找到 javascript 的替代品。如果不是,那么希望我们已经灭绝了;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多