Date.UTC()
Date.UTC() 静态方法接受表示日期和时间组件的参数,这些参数与 Date 构造函数类似,但将其视为 UTC。它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。
试一试
const utcDate1 = new Date(Date.UTC(96, 1, 2, 3, 4, 5));
const utcDate2 = new Date(Date.UTC(0, 0, 0, 0, 0, 0));
console.log(utcDate1.toUTCString());
// Expected output: "Fri, 02 Feb 1996 03:04:05 GMT"
console.log(utcDate2.toUTCString());
// Expected output: "Sun, 31 Dec 1899 00:00:00 GMT"
语法
js
Date.UTC(year)
Date.UTC(year, monthIndex)
Date.UTC(year, monthIndex, day)
Date.UTC(year, monthIndex, day, hours)
Date.UTC(year, monthIndex, day, hours, minutes)
Date.UTC(year, monthIndex, day, hours, minutes, seconds)
Date.UTC(year, monthIndex, day, hours, minutes, seconds, milliseconds)
参数
年-
表示年份的整数值。值为
0到99的,映射到1900到1999年。所有其他值表示实际年份。请参阅 示例。 monthIndex可选-
表示月份的整数值,从
0(一月)到11(十二月)。默认为0。 day可选-
表示月份中的日期的整数值。默认为
1。 hours可选-
表示一天中小时的整数值,介于
0和23之间。默认为0。 minutes可选-
表示时间中分钟部分的整数值。默认为
0。 seconds可选-
表示时间中秒部分的整数值。默认为
0。 milliseconds可选-
表示时间中毫秒部分的整数值。默认为
0。
返回值
描述
值为 0 到 99 的年份将被转换为 20 世纪的年份 (1900 + year)。例如,95 将被转换为 1995 年。
UTC() 方法与 Date() 构造函数在三方面有所不同:
Date.UTC()使用通用时间而不是本地时间。Date.UTC()返回一个数字格式的时间值,而不是创建一个Date对象。- 当传入单个数字时,
Date.UTC()将其解释为年份而不是时间戳。
如果参数超出预期范围,UTC() 方法会更新其他参数以适应该值。例如,如果 monthIndex 使用 15,则年份将增加 1 (year + 1),月份将使用 3。
由于 UTC() 是 Date 的一个静态方法,您应始终将其用作 Date.UTC(),而不是您创建的 Date 对象的某个方法。
示例
使用 Date.UTC()
以下语句创建一个 Date 对象,其中参数被视为 UTC 而非本地时间。
js
const utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
Date.UTC() 单个参数的行为
Date.UTC() 在只接受一个参数时,过去的行为不一致,因为实现只保持与 Date() 构造函数一致的行为,后者不将单个参数解释为年份数字。现在要求实现将省略的 monthIndex 视为 0,而不是将其强制转换为 NaN。
js
Date.UTC(2017); // 1483228800000
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-date.utc |
浏览器兼容性
加载中…