Ответ 1
Дата не имеет этого
Собственно, это происходит, но только косвенно. В соответствии с спецификацией значение <миллисекунды Date
объекта milliseconds-after-the-Epoch может быть только в диапазоне от -8640000000000000 до 8640000000000000.
Итак, минимальная дата new Date(-8640000000000000)
(Tue, 20 апреля -271821 00:00:00 GMT), а максимальная дата new Date(8640000000000000)
(сб, 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
, которые нельзя изменить, которые имеют минимальное/максимальное числовое значение для дат. (На движке JavaScript, поддерживающем ES5.)