一般情況下,我們獲取年份的時候都是通過下面的代碼:
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); }