Как получить самую маленькую и самую большую дату. Я вижу, что наименьшее число можно получить следующим образом:
Number.MIN_VALUE
Дата не имеет этого. Есть ли способ найти самую маленькую и самую большую дату
Ответ 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.)