Date.prototype.setYear()

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

setYear() 方法用於根據本地時間為指定的 Date 例項設定年份。

然而,舊的 setYear() 方法設定年份值的方式與推薦的 setFullYear() 方法不同,在某些情況下也與 new Date()Date.parse() 設定年份值的方式不同。具體來說,對於兩位數,例如 2261

  • setYear() 將任何兩位數解釋為 1900 的偏移量;因此 date.setYear(22) 會將年份值設定為 1922,而 date.setYear(61) 會將年份值設定為 1961。(相比之下,雖然 new Date(61, 1) 也會將年份值設定為 1961,但 new Date("2/1/22") 會將年份值設定為 2022Date.parse() 類似。)

  • setFullYear() 不會進行特殊解釋,而是將兩位數的字面值按原樣設定為年份;因此 date.setFullYear(61) 會將年份值設定為 0061,而 date.setFullYear(22) 會將年份值設定為 0022

由於這些行為差異,您應該不再使用舊的 setYear() 方法,而應該使用推薦的 setFullYear() 方法。

語法

js
setYear(yearValue)

引數

yearValue

一個整數。

返回值

該方法會就地修改 Date 物件,並返回其新的 時間戳。如果 yearValueNaN(或被 強制轉換為 NaN 的值,例如 undefined),則日期將被設定為 Invalid Date,並返回 NaN

描述

如果 yearValue 是一個介於 0 到 99(含)之間的數字,則 dateObj 的年份將被設定為 1900 + yearValue。否則,dateObj 的年份將被設定為 yearValue

示例

使用 setYear()

前兩行將年份設定為 1996。第三行將年份設定為 2000。

js
const theBigDay = new Date();

theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);

規範

規範
ECMAScript® 2026 語言規範
# sec-date.prototype.setyear

瀏覽器相容性

另見