一般情況下,我們取得年份的時候都是透過下面的程式碼:
var now = new Date(); var initYear = now.getYear();
以上程式碼在IE中initYear是對的,但是ff以及chrome下不相容,換成
var initYear = now.getFullYear();
IE、FireFox、Chrome下皆可行
JS中getYear()和getFullYear()區別:
js中得到當前年份做法是var dayObj=new Date(); dayObj.getYear()來得到年份,我前面寫過這樣會出現瀏覽器的兼容性的問題,就是在IE中能得到我們想要的結果但在FF中就不行了,跟我們要的結果相差1900年。當時我的做法是:
var dayObj=new Date(); var myYears = ( dayObj.getYear() < 1900 ) ? ( 1900 + dayObj.getYear() ) : dayObj.getYear(); document.write(myYears);
這樣就能避免IE和FF的相容性問題了。
現在我看到js裡有這樣個方法getFullYear()。進行測試來一下,原來這個方法就能避免上面出的問題,IE和FF都能以我們想的來顯示。
getFullYear 方法
傳回 Date 物件中以本地時間表示的年份值。
dateObj.getFullYear()
必選項 dateObj 參數為 Date 物件。
說明
若要取得以全球標準時間 (UTC)表示的年份值,請使用 getUTCFullYear 方法。
getFullYear 方法以絕對數字的形式傳回年份值。例如,1976 年的回傳值就是 1976。這樣可以避免 2000 年問題,因此不會將 2000 年1月1日以後的日期與 1900 年1月1日以後的日期混淆。
下面這個範例說明了 GetFullYear 方法的用法。
function DateDemo(){ var d, s = "今天 UTC 日期是: "; d = new Date(); s += (d.getMonth() + 1) + "/"; s += d.getDate() + "/"; s += d.getFullYear(); return(s); }