通常、年を取得するときは、次のコードを使用します:
var now = new Date(); var initYear = now.getYear();
上記のコードは IE の inityear では正しいですが、ff および chrome では互換性がありません。
に置き換えてください。
var initYear = now.getFullYear();
IE、FireFox、Chrome で利用可能
JS の get Year() と getFull Year() の違い:
JS で現在の年を取得する方法は、var dayObj=new Date(); dayObj.get Year() で年を取得することです。これはブラウザの互換性の問題を引き起こすと書きました。つまり、IE では取得できます。私たちが望むもの 望む結果はFFでは機能せず、望む結果と望む結果の間には1900年の違いがあります。その時私がしたことは、
var dayObj=new Date(); var myYears = ( dayObj.getYear() < 1900 ) ? ( 1900 + dayObj.getYear() ) : dayObj.getYear(); document.write(myYears);
こうすることで、IE と FF の間の互換性の問題を回避できます。
js にそのようなメソッド getFull Year() があることがわかりました。テストの結果、この方法で上記の問題を回避でき、IE と FF の両方で希望どおりに表示できることがわかりました。
getFullyear メソッド
Date オブジェクトの現地時間で表現された年の値を返します。
dateObj.getFull Year()
必須の dateObj パラメータは Date オブジェクトです。
説明
協定世界時 (UTC) の年の値を取得するには、getUTCFul Year メソッドを使用します。
getFull Year メソッドは、年の値を絶対数として返します。たとえば、1976 年の戻り値は 1976 です。これにより、2000 年 1 月 1 日以降の日付が 1900 年 1 月 1 日以降の日付と混同されない、2000 年問題が回避されます。
次の例は、GetFull Year メソッドの使用法を示しています。
function DateDemo(){ var d, s = "今天 UTC 日期是: "; d = new Date(); s += (d.getMonth() + 1) + "/"; s += d.getDate() + "/"; s += d.getFullYear(); return(s); }