6
1

More than 3 years have passed since last update.

その時、世界は止まった。JavaScriptの世界では日本時間の西暦275,760年9月13日(土) 9:00:00に終わる...

Posted at

JavaScriptのDate()ではいつまでサポートしてるんでしょうか?

正の値では1970/1/1 9:00:00から始まります。

>> new Date(0)
Date Thu Jan 01 1970 09:00:00 GMT+0900 (日本標準時)

では、いつまでサポートしてるのでしょうか?

https://tc39.es/ecma262/#sec-expanded-years をみると

Covering the full time value range of approximately 273,790 years forward or backward from 01 January, 1970

とのこと。1970に273,790足して、275,760で確認します。

>> new Date(275760,0,1,9,0,1)
Date Tue Jan 01 275760 09:00:01 GMT+0900 (日本標準時)

あれ?275,760年の1/1はサポートされてますね。

実際にいつまで指定したらエラーになるか試してみました。

>> new Date(275760, 8, 13,9,0,0)
Date Sat Sep 13 275760 09:00:00 GMT+0900 (日本標準時)

はOK。1秒後はどうでしょうか?

>> new Date(275760, 8, 13,9,0,1)
Invalid Date

エラーになりました。

JavaScriptの世界では、日本時間の西暦275,760年9月13日(土) 9:00:00以降はサポートされていませんでした。

ちなみに秒数では1970/1/1から8,640,000,000,000,000ミリ秒間となります。日数にすると100,000,000日=1億日分でした。

>> new Date(8640000000000000)
Date Sat Sep 13 275760 09:00:00 GMT+0900 (日本標準時)

なのでJavaScriptの世界では弥勒菩薩の降臨までは持たないようですね...

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1