Date.prototype.setYear()
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
setYear() 方法用于根据本地时间为指定的 Date 实例设置年份。
然而,旧的 setYear() 方法设置年份值的方式与推荐的 setFullYear() 方法不同,在某些情况下也与 new Date() 和 Date.parse() 设置年份值的方式不同。具体来说,对于两位数,例如 22 和 61:
-
setYear()将任何两位数解释为1900的偏移量;因此date.setYear(22)会将年份值设置为1922,而date.setYear(61)会将年份值设置为1961。(相比之下,虽然new Date(61, 1)也会将年份值设置为1961,但new Date("2/1/22")会将年份值设置为2022;Date.parse()类似。) -
setFullYear()不会进行特殊解释,而是将两位数的字面值按原样设置为年份;因此date.setFullYear(61)会将年份值设置为0061,而date.setFullYear(22)会将年份值设置为0022。
由于这些行为差异,您应该不再使用旧的 setYear() 方法,而应该使用推荐的 setFullYear() 方法。
语法
setYear(yearValue)
参数
yearValue-
一个整数。
返回值
该方法会就地修改 Date 对象,并返回其新的 时间戳。如果 yearValue 是 NaN(或被 强制转换为 NaN 的值,例如 undefined),则日期将被设置为 Invalid Date,并返回 NaN。
描述
如果 yearValue 是一个介于 0 到 99(含)之间的数字,则 dateObj 的年份将被设置为 1900 + yearValue。否则,dateObj 的年份将被设置为 yearValue。
示例
使用 setYear()
前两行将年份设置为 1996。第三行将年份设置为 2000。
const theBigDay = new Date();
theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-date.prototype.setyear |
浏览器兼容性
加载中…