最近のわし

あぁ、わしも年をとったもんじゃ。最近はもう誕生日ケーキよりろうそくの体積の方が大きくて困るのじゃ。

思えばいろんなことがあったのう…。

隕石衝突の危機が起きたときはもう絶体絶命じゃった…。しかしシンギュラリティによるパラダイムシフトがおき、人類はスペースコロニーへ避難するところまで漕ぎ着けたのじゃ…。 全く残念なことに地球は崩壊して、帰る場所がなくなった人類はそのまま新たに住める惑星を探すことになったのじゃ…。

それはそれは大変じゃった…。

とまあそんな感じでわしらは今、全身タイツで暮らしておるのじゃ。

ところでこのアプリケーションはJavaScriptのDateオブジェクトに依存しており、そのために275760年9月13日から先は対応しておらんのじゃ。 昔懐かしい 数値と日付 - JavaScript | MDN によると、次のように書かれておる。

JavaScript は Java と同じように日付を取り扱います。2 つの言語は同様の日付用メソッドを多く持ち、両方の言語とも、Unix タイムスタンプが 1970 年 1 月 1 日 00:00:00 からの秒の数値であるのと同様に、1970 年 1 月 1 日 00:00:00 からのミリ秒の数値で日付を格納しています。

Date オブジェクトの設定可能範囲は 1970 年 1 月 1 日 UTC 時間 に対し -100,000,000 日から 100,000,000 日までです。

1日は24時間じゃ。1時間は3600秒じゃ。1秒は1000ミリ秒じゃ。つまりDateオブジェクトが仕様上扱える上限はミリ秒で表現すると 100000000*24*3600*1000 、つまり 8640000000000000 なのじゃ。

この値をGoogle Chrome バージョン2241345(275760年時点の最新じゃ!)のコンソールに放り込んで、実動作を確認してみるかのう。

// 上限値でインスタンスを生成する
new Date(8640000000000000);
Sat Sep 13 275760 09:00:00 GMT+0900 (日本標準時)

// 上限値に1足してインスタンスを生成してみる
new Date(8640000000000001);
Invalid Date

そんなわけで275760年9月13日が限界なのじゃ。QED。

じゃから明日はこの対応をせにゃならんのう。

しかしもうこんな時間じゃ。年を取ると時間の経つのが早く感じてかなわん。寝るか。

おたより

おたよりはまだありません。