03/16(Sun) 00:43
ブラウザの2000年対応
ブラウザの2000年対応状況を調べてみました。年の4桁表示でgetYear()に+1900されてる方も多いと思いますが(私もそうです)、
- NC4.5以上、IE3.02では正常に動作しますがIE4.0以上、NC4.0x、NN3.01等のブラウザは2000年になると3900年と表示されてしまいます。
- バージョン4以上のブラウザではgetFullYear()を使う方法もありますが、バージョン3以下のブラウザではスクリプトエラーになってしまう。
という問題があります。
項目 | Internet Explorer | Netscape |
IE5.x | IE4.0x | IE3.02 | NC4.5x | NC4.0x | NN3.01 |
2000年 | getYear() | 2000 | 2000 | 100 | 100 | 2000 | 2000 |
getFullYear() | 2000 | 2000 | × | 2000 | 2000 | × |
1999年 | getYear() | 99 | 99 | 99 | 99 | 99 | 99 |
getFullYear() | 1999 | 1999 | × | 1999 | 1999 | × |
■ ブラウザの2000年対応法
(1)あなたの日付取得スクリプトの中のyear = now.getYear();を記述してる部分(yearはyやyyと書かれてるものもあります)の後に if (year < 2000) year = year + 1900; のスクリプトを挿入します。これで全てのブラウザで year に4桁の「年」が得られます。
(2)yearがyやyyと書かれてる場合は、下のスクリプト内のyearをすべてyやyyに変更して使ってください。
|