Phương thức setUTCHours() thiết lập giờ (0-23) cho đối tượng Date theo thời gian UTC, có thể kèm phút, giây, mili-giây. Trả về timestamp mới.
Cú pháp
dateObj.setUTCHours(hours[, minutes[, seconds[, ms]]])
hours: Giờ (0-23). Vượt phạm vi -> auto normalizeminutes: Tùy chọn, phút (0-59)seconds: Tùy chọn, giây (0-59)ms: Tùy chọn, mili-giây (0-999)- Trả về: Timestamp mới (number)
Ví dụ cơ bản
const date = new Date('1989-09-26T12:04:25.096Z');
console.log("Trước:", date.toUTCString()); // Tue, 26 Sep 1989 12:04:25 GMT
date.setUTCHours(23);
console.log("Sau:", date.toUTCString()); // Tue, 26 Sep 1989 23:04:25 GMT
Set giờ + phút + giây + ms
const date = new Date('1989-09-26T12:04:25.096Z');
date.setUTCHours(15, 30, 45, 500);
console.log(date.toUTCString()); // Tue, 26 Sep 1989 15:30:45 GMT
Thiếu giờ khi tạo Date
const date = new Date('1989-09-26'); // Chỉ ngày
date.setUTCHours(5);
console.log(date.toISOString()); // 1989-09-26T05:00:00.000Z
Ngày hiện tại set giờ UTC
const date = new Date();
date.setUTCHours(9, 0, 0, 0); // 09:00:00.000 UTC
console.log(date.toISOString());
Auto-normalize vượt phạm vi
const date = new Date('1989-09-26T12:00:00Z');
date.setUTCHours(48); // 48h = 2 ngày
console.log(date.toUTCString()); // Thu, 28 Sep 1989 12:00:00 GMT
date.setUTCHours(-5); // Lùi 5h
console.log(date.toUTCString()); // Thu, 28 Sep 1989 07:00:00 GMT
Lưu ý
- Tất cả tham số sau
hoursđều tùy chọn - Vượt phạm vi tự động normalize (tràn sang ngày/tháng/năm)
- Làm thay đổi object Date gốc
- Khác với
setHours()(local time) - Cặp đôi với
getUTCHours()