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ề
NaNnếu Date invalid - Cặp đôi với
setUTCDate()