Date.prototype.setFullYear()
Date 实例的 setFullYear() 方法根据本地时间更改此日期的年份、月份和/或月份日期。
试一试
const event = new Date("August 19, 1975 23:15:30");
event.setFullYear(1969);
console.log(event.getFullYear());
// Expected output: 1969
event.setFullYear(0);
console.log(event.getFullYear());
// Expected output: 0
语法
setFullYear(yearValue)
setFullYear(yearValue, monthValue)
setFullYear(yearValue, monthValue, dateValue)
参数
yearValue-
一个表示年份的整数。例如,1995。
monthValue可选-
一个整数,表示月份:0 表示一月,1 表示二月,以此类推。
dateValue可选-
一个介于 1 和 31 之间的整数,表示月份中的某一天。如果指定了
dateValue,则必须同时指定monthValue。
返回值
该方法会直接修改 Date 对象,并返回其新的 时间戳。如果某个参数是 NaN(或被 强制转换 为 NaN 的值,如 undefined),则日期将设置为 无效日期,并返回 NaN。
描述
如果您不指定 monthValue 和 dateValue 参数,将使用 和 getMonth() 返回的相同值。getDate()
如果您指定的参数超出了预期范围,其他参数和 对象中的日期信息将相应更新。例如,如果为 DatemonthValue 指定 15,年份将增加 1(yearValue + 1),月份将使用 3。
由于 setFullYear() 在本地时间上运行,因此穿越夏令时(DST)边界可能会导致经过的时间与预期不同。例如,如果设置日期时穿越了春季前移(损失一小时)的转换,则新日期和旧日期之间的时戳差异将比名义上的日差乘以 24 小时少一个小时。反之,穿越秋季后移(增加一小时)的转换将导致多出一个小时。如果您需要按固定时间量调整日期,请考虑使用 或 setUTCFullYear()。setTime()
如果新的本地时间落在偏移量转换范围内,则确切时间将使用与 Temporal 的 disambiguation: "compatible" 选项相同的行为来确定。也就是说,如果本地时间对应两个瞬间,则选择较早的那个;如果本地时间不存在(存在间隙),则向前推进间隙持续的时间。
示例
使用 setFullYear()
const theBigDay = new Date();
theBigDay.setFullYear(1997);
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-date.prototype.setfullyear |
浏览器兼容性
加载中…