根据规范§15.9.1.1:
Date对象包含一个数字,该数字指示毫秒内的特定时间点。这样的数字称为时间值。时间值也可以是NaN,表示Date对象不代表特定的时间点。
自1970年1月1日UTC以来,时间以ECMAscript表示,以毫秒为单位。在时间值上,leap秒将被忽略。假设每天精确地有86,400,000毫秒。ECMAscriptNumber值可以表示从–9,007,199,254,740,992到9,007,199,254,740,992的所有整数;从1970年1月1日UTC向前或向后大约285,616年内,此范围足以测量毫秒级的时间。
ECMAscript Date对象支持的实际时间范围略小:相对于UTC1970年1月1日开始的午夜,精确地–100,000,000天至100,000,000天。这给UTC时间1970年1月1日的任一侧提供了8,640,000,000,000,000毫秒的范围。
格林尼治标准时间1970年1月1日开始的确切午夜时刻由值+0表示。
第三段是最相关的。基于该段,我们可以从获取每个规范的确切最早日期
newDate(-8640000000000000),即公元前271,821年4月20日(星期二)(公元前=共同时代之前,例如-271,821年)。



