试一试
const event = new Date("August 19, 1975 23:15:30");
event.setSeconds(42);
console.log(event.getSeconds());
// Expected output: 42
console.log(event);
// Expected output: "Sat Apr 19 1975 23:15:42 GMT+0100 (CET)"
// Note: your timezone may vary
语法
js
setSeconds(secondsValue)
setSeconds(secondsValue, msValue)
参数
secondsValue-
一个介于 0 和 59 之间的整数,表示秒。
msValue可选-
一个介于 0 和 999 之间的整数,表示毫秒。
返回值
该方法会直接修改 Date 对象,并返回其新的 时间戳。如果某个参数是 NaN(或被 强制转换 为 NaN 的值,如 undefined),则日期将设置为 无效日期,并返回 NaN。
描述
如果您不指定 msValue 参数,则会使用从 getMilliseconds() 方法返回的值。
如果您指定的参数超出了预期范围,setSeconds() 会尝试相应地更新 Date 对象中的日期信息。例如,如果您为 secondsValue 使用 100,则 Date 对象中存储的分钟数将增加 1,秒数将使用 40。
由于 setSeconds() 操作的是本地时间,因此跨越夏令时 (DST) 边界可能会导致经过的时间与预期不同。例如,如果设置的秒数跨越了春季向前调整(损失一小时),则新旧日期之间的时间戳差异将比名义时间差少一个小时。反之,跨越秋季向后调整(增加一小时)将导致多出一个小时。如果您需要按固定时间量调整日期,请考虑使用 setUTCSeconds() 或 setTime()。
如果新的本地时间落在偏移量转换范围内,则确切时间将使用与 Temporal 的 disambiguation: "compatible" 选项相同的行为来确定。也就是说,如果本地时间对应两个瞬间,则选择较早的那个;如果本地时间不存在(存在间隙),则向前推进间隙持续的时间。
示例
使用 setSeconds()
js
const theBigDay = new Date();
theBigDay.setSeconds(30);
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-date.prototype.setseconds |
浏览器兼容性
加载中…