Date.UTC()

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本中运行。它自以下时间起在浏览器中可用 2015 年 7 月.

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)

参数

表示年份的整数。099 的值映射到 19001999 年。所有其他值都是实际年份。请参阅 示例

monthIndex 可选

表示月份的整数,从 0(1 月)到 11(12 月)开始。默认为 0

day 可选

表示一个月中某一天的整数。默认为 1

hours 可选

表示一天中小时的整数,介于 023 之间。默认为 0

minutes 可选

表示时间分钟部分的整数。默认为 0

seconds 可选

表示时间秒部分的整数。默认为 0

milliseconds 可选

表示时间毫秒部分的整数。默认为 0

返回值

表示给定日期的 时间戳 的数字。如果日期 无效,则返回 NaN

描述

099 之间的年份将转换为 20 世纪的年份 (1900 + year)。例如,95 将转换为 1995 年。

UTC() 方法与 Date() 构造函数在三个方面有所不同

  1. Date.UTC() 使用世界时而不是本地时间。
  2. Date.UTC() 返回一个数字作为时间值,而不是创建一个 Date 对象。
  3. 当传递一个数字时,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 的浏览器中加载。

另请参阅