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