Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Phương thức Date.getUTCDay() trong JavaScript

Phương thức getUTCDay() trả về ngày trong tuần (0-6) của đối tượng Date theo thời gian UTC. 0 = Chủ Nhật, 1 = Thứ 2, ..., 6 = Thứ Bảy.

Cú pháp

dateObj.getUTCDay()
  • Trả về: Số nguyên 0-6
  • Không nhận tham số

Ví dụ cơ bản

const date = new Date('1989-09-26T12:04:25.096Z');
console.log(date.getUTCDay()); // 2 (Thứ 3)

Thiếu ngày - mặc định ngày 1

const date = new Date('1989-09T00:04:00Z'); // Tháng 9/1989, ngày 1
console.log(date.getUTCDay()); // 5 (Thứ 6 - vì 1/9/1989 là Thứ 6 UTC)

Ngày hiện tại UTC

const now = new Date();
console.log(now.getUTCDay()); // Thứ UTC hôm nay

So sánh Local vs UTC Day

// UTC+7, 26/9/1989 23:00 local = 27/9/1989 16:00 UTC
const date = new Date('1989-09-26T23:00:00'); // Thứ 3 local

console.log("Local day:", date.getDay());     // 2 (Thứ 3)
console.log("UTC day:",   date.getUTCDay());  // 3 (Thứ 4 - qua ngày UTC)

// 26/9/1989 18:00 local = 27/9/1989 11:00 UTC (vẫn Thứ 3 UTC)
const date2 = new Date('1989-09-26T18:00:00');
console.log("Local:", date2.getDay());    // 2
console.log("UTC:",   date2.getUTCDay()); // 2

Hiển thị tên thứ UTC

const days = ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'];
console.log(days[new Date().getUTCDay()]); // Thứ UTC hôm nay

Ứng dụng

  • Hệ thống global: xác định thứ UTC cho cron, maintenance window
  • So sánh thứ cross-timezone
  • Financial market: trading day UTC

Lưu ý

  • 0 = Chủ Nhật (tuân thủ JS convention, khác ISO 8601)
  • Khác với getDay() (local)
  • Thiếu ngày -> mặc định ngày 1
  • Trả về NaN nếu Date invalid
  • Cặp đôi với setUTCDay() (không tồn tại - dùng setUTCDate)