Я читаю информацию о смешанных / максимальных значениях объектов дат JavaScript в различных реализациях.
В документах Mozilla говорится, что JavaScript поддерживает " -100 000 000 дней до + 100 000 000 с обеих сторон"эпохи UNIX.Если моя математика верна, это должно быть 8,64e15 мс с каждой стороны.
Microsoft MSDN говорит, что JScript поддерживает " приблизительно 285 616 лет с обеих сторон" эпохи UNIX.
Модульные тесты для Google v8 указывают + / - 1e8 дней с эпохи.
ECMAScript 5.1 указывает немного более четко :
Время измеряется в ECMAScript в миллисекундах с 1 января 1970 года по UTC.В значениях времени високосные секунды игнорируются.Предполагается, что есть ровно 86 400 000 миллисекунд в день.Числовые значения ECMAScript могут представлять все целые числа от –9,007,199,254,740,992 до 9,007,199,254,740,992;этого диапазона достаточно, чтобы измерить время с точностью до миллисекунды для любого момента, который находится в пределах приблизительно 285 616 лет, либо вперед, либо назад, с 1 января 1970 г. UTC.
Фактический диапазон времени, поддерживаемый объектами Date в ECMAScript, немного меньше: точно от –100 000 000 дней до 100 000 000 дней, измеренных относительно полуночи в начале 1 января 1970 года по UTC.Это дает диапазон 8 640 000 000 000 000 миллисекунд по обе стороны от 01 января 1970 г. UTC
Мне любопытно, кто-нибудь знает любую реализацию, которая не на самом деле поддерживает это "+ /-1е8 дней от эпохи "диапазон?