IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

Opera 9.5 の Date().getYear() が IE と同じ仕様に

JavaScript の以下のコードは

Date().getYear()

ブラウザによって 108 を返したり 2008 を返したりする
ちなみに、仕様的には 108 が正しい。
今までの Opera の場合は仕様通り 108 で処理していたが、 Opera 9.5 で互換性重視で 2008 になったようだ。
こうコロコロ変わられてはブラウザ判定してても意味がないので、以下のように判定することにした。

var year = Date().getYear();
year += (year > 1900) ? 0 : 1900;

いやー。ダサいのは分かってるんだけどー><
きっと、このようなコードがのちに 3800 年問題と呼ばれるに違いない(違