new Date(0) で世界協定時 UTC の1970/1/1 0 時のミリ秒が返ってくる便利だったメモ

new Date(0) で世界協定時 UTC の1970/1/1 0 時のミリ秒が返ってくる便利だったメモ

new Date(0) で世界協定時 UTC の1970/1/1 0 時のミリ秒が返ってくる便利だったメモです。

背景

Date() コンストラクター - JavaScript | MDN

こちらにあるとおり new Date() や Date.now() で初期化すると世界協定時 UTC の現在時刻でのミリ秒が取得できるので良く使いますが、何かしらの別の固定値として初期値として Date 型を使いたいときがあります。

現在時刻で取得すると、場合によっては、処理が重いときの実行しているときなどにズレが出て困るときがあるんですよね。

生成 AI とともに、とある仕組みをつくっているとき、このように、別の初期値が欲しいというディスカッションして進めているときに知りまして new Date(0) だと世界協定時 UTC の1970/1/1 0:00 なミリ秒が返ってきて便利でした。

動かしてみる

Date() コンストラクター - JavaScript | MDN

こちらにもある JavaScript Demo のエリアでお試しができるのでやってみましょう。

console.log(new Date(0));

// Thu Jan 01 1970 09:00:00 GMT+0900 (GMT+09:00)

表示は日本標準時 JST になってますが、ちゃんと、世界協定時 UTC の1970/1/1 0 時 が作成きてます!

new Date() や Date.now() での時刻取得と比べて、シンプルに固定値として取れるので、使いやすいときがあります!