JavaScript

ハッピー1.5ギガ秒

More than 1 year has passed since last update.

getTime()メソッドはUNIX時間(1970年1月1日からの経過時間)をミリ秒単位で返すわけですが、それが15億秒になったということらしい(1Gは10の9乗で10億)。たまたま見つけたのでメモ。20億秒は2033年の5月18日(new Date(2e12))。35億秒までは見届けたいけど果たしていけるのか。

同じように経過時間を返すメソッドとしてはDate.now()があるけど、こちらは静的メソッドなのでnewしてインスタンスを作る必要がない。だから普通はDate.now()を使った方が良いと思われるけど、Date.now()はIE8でサポートしていないので使えない(いまさらIE8とか)。それで (new Date()).valueOf() と書くのがクセになっている。getTime()じゃなくて、valueOf()を使う理由は特にない(なんとなくの安心感)。

なお、new演算子を使う場合、後ろの括弧(())はなくても良いらしい。知らなかった。だからJavaScript Dailyのツイートのような (new Date).getTime() という書き方で問題なく実行できる。だたnew Dateの周りの括弧はnew演算子よりメンバー演算子の方が優先順位が高いので必要。getTimeの後ろの括弧もないと呼び出しにならないので必要。