Date.UTC()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Phương thức tĩnh Date.UTC() chấp nhận các tham số đại diện cho các thành phần ngày và giờ tương tự như constructor Date, nhưng xử lý chúng theo giờ UTC. Nó trả về số mili giây kể từ ngày 1 tháng 1 năm 1970, 00:00:00 UTC.

Try it

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"

Cú pháp

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)

Tham số

year

Giá trị số nguyên đại diện cho năm. Các giá trị từ 0 đến 99 ánh xạ đến các năm từ 1900 đến 1999. Tất cả các giá trị khác là năm thực tế. Xem ví dụ.

monthIndex Optional

Giá trị số nguyên đại diện cho tháng, bắt đầu từ 0 cho tháng Một đến 11 cho tháng Mười Hai. Mặc định là 0.

day Optional

Giá trị số nguyên đại diện cho ngày trong tháng. Mặc định là 1.

hours Optional

Giá trị số nguyên từ 0 đến 23 đại diện cho giờ trong ngày. Mặc định là 0.

minutes Optional

Giá trị số nguyên đại diện cho phút của thời gian. Mặc định là 0.

seconds Optional

Giá trị số nguyên đại diện cho giây của thời gian. Mặc định là 0.

milliseconds Optional

Giá trị số nguyên đại diện cho mili giây của thời gian. Mặc định là 0.

Giá trị trả về

Một số đại diện cho timestamp của ngày đã cho. Trả về NaN nếu ngày không hợp lệ.

Mô tả

Các năm từ 0 đến 99 được chuyển đổi thành một năm trong thế kỷ 20 (1900 + year). Ví dụ, 95 được chuyển đổi thành năm 1995.

Phương thức UTC() khác với constructor Date() ở ba điểm:

  1. Date.UTC() sử dụng giờ quốc tế thay vì giờ địa phương.
  2. Date.UTC() trả về giá trị thời gian dưới dạng số thay vì tạo đối tượng Date.
  3. Khi được truyền một số duy nhất, Date.UTC() diễn giải nó như là một năm thay vì một timestamp.

Nếu một tham số nằm ngoài phạm vi dự kiến, phương thức UTC() cập nhật các tham số khác để phù hợp với giá trị. Ví dụ, nếu 15 được dùng cho monthIndex, năm sẽ tăng thêm 1 (year + 1)3 sẽ được dùng cho tháng.

UTC() là phương thức tĩnh của Date, bạn luôn sử dụng nó dưới dạng Date.UTC(), thay vì là phương thức của đối tượng Date bạn đã tạo.

Ví dụ

Sử dụng Date.UTC()

Câu lệnh sau tạo một đối tượng Date với các đối số được xử lý theo UTC thay vì theo địa phương:

js
const utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));

Hành vi của Date.UTC() với một đối số

Date.UTC() khi được truyền một đối số từng có hành vi không nhất quán, vì các triển khai chỉ giữ hành vi nhất quán với constructor Date(), không diễn giải một đối số duy nhất là số năm. Hiện tại các triển khai được yêu cầu xử lý monthIndex bị bỏ qua là 0, thay vì ép kiểu nó thành NaN.

js
Date.UTC(2017); // 1483228800000

Đặc tả kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-date.utc

Tương thích trình duyệt

Xem thêm