Объект Date содержит число, указывающее конкретный момент времени с точностью до миллисекунды. Такое число называется временной ценностью. Значение времени также может быть NaN, что указывает на то, что объект Date не представляет конкретный момент времени.
В ECMAScript время измеряется в миллисекундах с 1 января 1970 года по всемирному координированному времени. Во времени значения дополнительных секунд игнорируются. Предполагается, что в день ровно 86 400 000 миллисекунд. Значения ECMAScript Number могут представлять все целые числа от –9,007,199,254,740,992 до 9,007,199,254,740,992; этого диапазона достаточно для измерения времени с точностью до миллисекунды для любого момента, который находится в пределах примерно 285 616 лет, вперед или назад, с 1 января 1970 года по всемирному координированному времени.
Фактический диапазон времени, поддерживаемый объектами ECMAScript Date, немного меньше: точно от –100000000 дней до 100000000 дней, измеренных относительно полуночи в начале 1 января 1970 года по всемирному координированному времени. Это дает диапазон 8 640 000 000 000 000 миллисекунд в любую сторону от 1 января 1970 года по всемирному координированному времени.
Точный момент полуночи в начале 1 января 1970 года по всемирному координированному времени представлен значением +0.
Третий абзац является наиболее актуальным. Основываясь на этом абзаце, мы можем получить точную самую раннюю дату согласно спецификации new Date(-8640000000000000)
, а именно вторник, 20 апреля 271 821 г. до н.э. (до н.э. = до нашей эры , например, -271 821 год).