此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Date.prototype.setUTCHours()

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

Date 实例的 setUTCHours() 方法用于根据世界协调时更改日期对象的小时、分钟、秒或毫秒。

尝试一下

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

console.log(event.toUTCString());
// Expected output: "Wed, 20 Aug 1975 02:15:30 GMT"

console.log(event.getUTCHours());
// Expected output: 2

event.setUTCHours(23);

console.log(event.toUTCString());
// Expected output: "Wed, 20 Aug 1975 23:15:30 GMT"

语法

js
setUTCHours(hoursValue)
setUTCHours(hoursValue, minutesValue)
setUTCHours(hoursValue, minutesValue, secondsValue)
setUTCHours(hoursValue, minutesValue, secondsValue, msValue)

参数

hoursValue

0 到 23 之间的整数,表示小时数。

minutesValue 可选

0 到 59 之间的整数,表示分钟数。

secondsValue 可选

0 到 59 之间的整数,代表秒数。如果指定了 secondsValue,则必须同时指定 minutesValue

msValue 可选

0 到 999 之间的整数,表示毫秒数。如果指定了 msValue,则必须同时指定 minutesValuesecondsValue

返回值

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

描述

如果你未指定 minutesValuesecondsValuemsValue 参数,那么将使用 getUTCMinutes()getUTCSeconds()getUTCMilliseconds() 方法返回的值。

如果你指定的参数超出了预期范围,setUTCHours() 会尝试相应地更新 Date 对象中的日期信息。例如,如果你将 secondsValue 设置为 100,分钟数将增加 1(minutesValue + 1),而秒数将变为 40。

示例

使用 setUTCHours()

js
const theBigDay = new Date();
theBigDay.setUTCHours(8);

规范

规范
ECMAScript® 2027 Language Specification
# sec-date.prototype.setutchours

浏览器兼容性

参见