如何获得最小和最大日期

Luk*_*101 14 javascript momentjs

我如何获得最小和最大的约会.我看到最小的数字可以这样得到:

Number.MIN_VALUE
Run Code Online (Sandbox Code Playgroud)

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

T.J*_*der 28

日期没有这个

实际上,确实如此,但只是间接地.根据规范,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);
Run Code Online (Sandbox Code Playgroud)

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

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

这定义Date了具有日期的最小/最大数值的无法更改的属性.(在支持ES5的JavaScript引擎上.)

  • @evilReiko:这是 JavaScript Date 对象的问题,不是我的答案。**;-)** (2认同)
  • @evilReiko希望当时可以找到javascript的替代品.如果没有,那么希望我们已经灭绝;) (2认同)