6月 29
仕事で他の人が書いたWebアプリケーションプログラムのバグ修正をしています。
その中で、IEで画面を見ると現在の年が「3910年」と表示されているバグがありました。
JavaScript の
Date().getYear()
は現在の年を返すメソッドですが、ブラウザによって返す値が違います。
現在の各主要ブラウザの最新版のバージョンでは、IE、Operaでは 2010 を返し、Firefox、Safari、Chromeでは 110(=2010-1900) を返します。
対処法としては
var year = new Date().getYear()
if(year < 1900){
year += 1900;
}
とする方法もありますが、単に
Date().getFullYear()
を使うことで確実に4桁の年を取得できます。
getFullYear() は大昔のIEやNNでは使用できないそうですが、現在では気にする必要はないでしょう。