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

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

Phương thức getUTCDate() trả về ngày trong tháng (1-31) của đối tượng Date theo thời gian UTC.

Cú pháp

dateObj.getUTCDate()
  • Trả về: Số nguyên 1-31
  • Không nhận tham số

Ví dụ cơ bản

const date = new Date('1989-09-26T12:04:25.096Z');
console.log(date.getUTCDate()); // 26

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

const date = new Date('1989-09T00:04:00Z');
console.log(date.getUTCDate()); // 1 (ngày đầu tháng)

Ví dụ thú vị: Thiếu ngày nhưng có giờ làm thay đổi ngày UTC

// Tháng 9/1989, không có ngày -> mặc định 1/9 00:00 UTC
// Nhưng ví dụ gốc có "00:4:00" -> 00:04 UTC ngày 1/9
// Output gốc: 31 (có vẻ như bug trong ví dụ gốc - 1/9 không phải 31)
// Thực tế:
const date = new Date('September, 1989 00:04:00'); // Parse local
console.log(date.getUTCDate()); // Phụ thuộc múi giờ

// Đúng chuẩn UTC:
const date2 = new Date('1989-09T00:04:00Z');
console.log(date2.getUTCDate()); // 1

Ngày hiện tại UTC

const now = new Date();
console.log(now.getUTCDate()); // Ngày UTC hôm nay

So sánh Local vs UTC Date

// UTC+7, 1/1/2024 01:00 local = 31/12/2023 18:00 UTC
const date = new Date('2024-01-01T01:00:00');

console.log("Local date:", date.getDate());     // 1
console.log("UTC date:",   date.getUTCDate());  // 31 (ngày cuối năm cũ)

// 1/1/2024 10:00 local = 1/1/2024 03:00 UTC
const date2 = new Date('2024-01-01T10:00:00');
console.log("Local:", date2.getDate());    // 1
console.log("UTC:",   date2.getUTCDate()); // 1

Ứng dụng

  • Ngày UTC cho billing cycle, subscription renewal
  • Log aggregation theo ngày UTC
  • Tính toán ngày hết hạn chuẩn UTC

Lưu ý

  • Phạm vi: 1-31
  • Khác với getDate() (local)
  • Thiếu ngày -> 1
  • Trả về NaN nếu Date invalid
  • Cặp đôi với setUTCDate()