日付の罠

ブラウザ依存の現象で、Date.getYear()の挙動が異なり、カウントダウンプログラムが あと-69xxxx日と途方もない日付を表示していた。

その現象が発現するのはIE7以前のブラウザのみ。

getYear()の値に+1900しないといけないというお約束従っていたのだが…
IE7君は2012と返しえてくれていた。

そこに1900を足したものだから日数が途方もない数字になってしまったという…

JavaScriptで日付の年を扱うときは

var today = new Date();
var year = today.getYear();
if( year < 1900 ) y += 1900;

という風に、面倒でもやらなければならない!
そういう教訓でした…