如何获得最小和最大日期

时间:2014-11-23 19:13:03

标签: javascript momentjs

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

Number.MIN_VALUE

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

1 个答案:

答案 0 :(得分:26)

  

日期没有此

实际上,确实如此,但只是间接地。根据{{​​3}},Date对象的毫秒 - 自Epoch值以来只能在-8640000000000000到8640000000000000的范围内。

所以最短日期是new Date(-8640000000000000)(星期二,2月20日 - 271821 00:00:00 GMT),最长日期是new Date(8640000000000000)(星期六,9月13日275760 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引擎上。)