Date.prototype.setMilliseconds()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

setMilliseconds() 方法用于更改 Date 实例的毫秒值,根据本地时间进行调整。

试一试

const event = new Date("August 19, 1975 23:15:30");

console.log(event.getMilliseconds());
// Expected output: 0

event.setMilliseconds(456);

console.log(event.getMilliseconds());
// Expected output: 456

语法

js
setMilliseconds(millisecondsValue)

参数

millisecondsValue

一个介于 0 和 999 之间的整数,表示毫秒。

返回值

该方法会就地修改 Date 对象,并返回其新的 时间戳。如果 millisecondsValueNaN(或任何会被 强制转换为 NaN 的值,例如 undefined),则日期将被设置为 无效日期,并返回 NaN

描述

如果您指定的值超出预期范围,`Date` 对象中的日期信息将相应更新。例如,如果您指定 1005,秒数将增加 1,毫秒数将是 5。

由于 setMilliseconds() 操作的是本地时间,因此在跨越夏令时(DST)边界时,可能会导致实际经过的时间与预期不符。例如,如果设置毫秒值跨越了春季向前调整(丢失一小时),则新旧日期之间的时间戳差异将比名义时间差少一小时。反之,如果跨越了秋季向后调整(增加一小时),则会多出一个小时。如果您需要按固定时间量调整日期,请考虑使用 setUTCMilliseconds()setTime()

如果新的本地时间落在偏移量转换范围内,则确切时间将使用与 Temporaldisambiguation: "compatible" 选项相同的行为来确定。也就是说,如果本地时间对应两个瞬间,则选择较早的那个;如果本地时间不存在(存在间隙),则向前推进间隙持续的时间。

示例

使用 setMilliseconds()

js
const theBigDay = new Date();
theBigDay.setMilliseconds(100);

规范

规范
ECMAScript® 2026 语言规范
# sec-date.prototype.setmilliseconds

浏览器兼容性

另见