Дата не имеет этой
На самом деле, это делает, но только косвенно. По the specification, миллисекунды-С-в-Epoch Date
объекта значения могут быть только в диапазоне -8640000000000000 до 8640000000000000.
Таким образом, минимальная дата new Date(-8640000000000000)
(Вт, 20 апреля -271821 00:00:00 GMT) , а максимальная дата: new Date(8640000000000000)
(сб, 13 сен 275760 00:00:00 по Гринвичу).
Если вы хотите, вы могли бы поставить те на функции 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
, которые не могут быть изменены, которые имеют минимальное/максимальное числовое значение даты. (На движке JavaScript с поддержкой ES5.)
Perfect. Это сработало замечательно. – Luke101
OMG, вы должны иметь перевернутый мозг, чтобы думать об этом @ T.J. Crowder! Есть только 1 вопрос с вашим ответом, что, если наступит год 275760, что произойдет? : P Отличный ответ! – evilReiko
@evilReiko: Это проблема с объектом JavaScript Date, а не с моим ответом. **; -) ** –