さまざまな実装における JavaScript 日付オブジェクトの mix/max 値に関する情報を読んでいます。
Mozilla のドキュメントによると、JavaScript はUNIX エポックの「 -100,000,000 日から +100,000,000 日まで」をサポートしています。私の計算が正しければ、これは両側で 8.64e15 ミリ秒になるはずです。
Microsoft MSDN によると、JScript はUNIX エポックの「両側で約 285,616 年」をサポートしています。
Google v8 の単体テストは、エポックから+/-1e8 日を示しています。
ECMAScript 5.1では、もう少し明確に指定されています。
時間は、1970 年 1 月 1 日 UTC からのミリ秒単位で ECMAScript で測定されます。時間値ではうるう秒は無視されます。1 日あたり正確に 86,400,000 ミリ秒あると想定されます。ECMAScript Number 値は、–9,007,199,254,740,992 から 9,007,199,254,740,992 までのすべての整数を表すことができます。この範囲は、1970 年 1 月 1 日 UTC から前後に約 285,616 年以内の任意の時点の時間をミリ秒の精度で測定するのに十分です。
ECMAScript の Date オブジェクトがサポートする実際の時間の範囲は、これより少し短く、1970 年 1 月 1 日 UTC の開始時刻の午前 0 時を基準として正確に -100,000,000 日から 100,000,000 日です。これにより、1970 年 1 月 1 日 UTC の両側に 8,640,000,000,000,000 ミリ秒の範囲が与えられます。
この「エポックから +/-1e8 日」の範囲を実際にサポートしていない実装を知っている人はいますか?