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