Date.UTC()
Date.UTC()
静态方法接受表示日期和时间组件的参数,类似于 Date
构造函数,但将其视为 UTC。它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。
试试看
语法
js
Date.UTC(year)
Date.UTC(year, monthIndex)
Date.UTC(year, monthIndex, day)
Date.UTC(year, monthIndex, day, hour)
Date.UTC(year, monthIndex, day, hour, minute)
Date.UTC(year, monthIndex, day, hour, minute, second)
Date.UTC(year, monthIndex, day, hour, minute, second, millisecond)
参数
年
-
表示年份的整数。
0
到99
的值映射到1900
到1999
年。所有其他值都是实际年份。请参阅 示例。 monthIndex
可选-
表示月份的整数,从
0
(1 月)到11
(12 月)开始。默认为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()
方法会更新其他参数以适应该值。例如,如果 15
用于 monthIndex
,则年份将增加 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 语言规范 # sec-date.utc |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。