Phương thức Date getUTCDay() trong JavaScript
Bùi Tấn Lực
- 926
- 02/09/2025
Chức năng của Phương thức Date getUTCDay() trong JavaScript
Phương thức Date getUTCDay() trong JavaScript dùng để lấy giá trị của thứ trong tuần theo múi giờ quốc tế (UTC) dựa vào thời gian hiện tại hoặc thời gian chỉ định trong đối tượng Date, sau khi có giá trị của thứ ta dùng mảng hoặc function để xuất ra thứ trong tuần.
Cú pháp của Phương thức Date getUTCDay() trong JavaScript
doituongdate.getUTCDay();
doituongdate: Đối tượng thời gian new Date();
Giá trị của Phương thức Date getUTCDay() trong JavaScript
0: Chủ Nhật
1: Thứ 2
2: Thứ 3
3: Thứ 4
4: Thứ 5
5: Thứ 6
6: Thứ 7
Code Phương thức Date getUTCDay() trong JavaScript
<script>
var mangtuan = ["Chủ Nhật","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"];
// Lấy thứ hiện tại trong tuần theo múi giờ quốc tế
document.write("<b>// Lấy thứ hiện tại trong tuần theo múi giờ quốc tế</b><br>");
var date = new Date();
var thu = date.getUTCDay();
document.write("Giá trị của thứ hiện tại trong tuần theo múi giờ quốc tế: "+thu+"<br>");
document.write("Thứ hiện tại trong tuần theo múi giờ quốc tế: "+mangtuan[thu]+"<br>"); // Kết quả: Thứ 3
// Lấy thứ theo thời gian chỉ định
document.write("<b>// Lấy thứ theo thời gian chỉ định</b><br>");
var date = new Date("2025-08-30");
var thuhai = date.getUTCDay();
document.write("Giá trị của thứ vào ngày 30/8/2025 : "+thuhai+"<br>");
document.write("Thứ hiện tại vào ngày 30/8/2025: "+mangtuan[thuhai]+"<br>"); // Kết quả: Thứ 7
</script>
Kết quả:
// Lấy thứ hiện tại trong tuần theo múi giờ quốc tế
Giá trị của thứ hiện tại trong tuần theo múi giờ quốc tế: 2
Thứ hiện tại trong tuần theo múi giờ quốc tế: Thứ 3
// Lấy thứ theo thời gian chỉ định
Giá trị của thứ vào ngày 30/8/2025 : 6
Thứ hiện tại vào ngày 30/8/2025: Thứ 7
Những lưu ý khi sử dụng Date getUTCDay() trong JavaScript
Khi làm việc với getUTCDay(), cần chú ý đến múi giờ và cách đánh số ngày trong tuần. Phương thức này phù hợp khi ứng dụng cần đọc ngày dựa trên UTC, nhưng có thể cho kết quả khác với thời gian địa phương nếu thời điểm đang xét nằm gần ranh giới giữa hai ngày.
getUTCDay() trả về thứ theo UTC thay vì múi giờ địa phương
getUTCDay() xác định ngày trong tuần dựa trên múi giờ UTC của đối tượng Date. Vì vậy, cùng một thời điểm có thể cho kết quả khác với getDay() khi múi giờ địa phương đã chuyển sang ngày mới nhưng UTC vẫn đang ở ngày trước đó.
Điều này đặc biệt đáng lưu ý khi xử lý lịch, lịch làm việc hoặc dữ liệu thời gian được gửi từ nhiều quốc gia. Nếu mục tiêu là hiển thị thứ theo giờ của người dùng, nên cân nhắc phương thức lấy ngày theo giờ địa phương thay vì mặc định sử dụng UTC.
Phân biệt getUTCDay() với getDay()
Hai phương thức đều trả về một số từ 0 đến 6, nhưng dựa trên hai cách xác định thời gian khác nhau. getUTCDay() sử dụng UTC, còn getDay() sử dụng múi giờ địa phương của môi trường đang chạy JavaScript.
Chẳng hạn, một thời điểm vào gần nửa đêm có thể vẫn thuộc một ngày trong tuần theo UTC nhưng đã chuyển sang ngày tiếp theo theo giờ địa phương. Khi cần đồng bộ dữ liệu giữa máy chủ và nhiều khu vực, việc chọn đúng phương thức sẽ giúp tránh sai lệch ngày.
const date = new Date("2026-08-17T23:30:00Z");
console.log(date.getUTCDay());
console.log(date.getDay());
Trong ví dụ trên, kết quả của hai phương thức có thể khác nhau tùy múi giờ của môi trường thực thi. Vì vậy, không nên xem getUTCDay() và getDay() là hai phương thức có thể thay thế hoàn toàn cho nhau.
Tránh nhầm giá trị trả về với số thứ tự của ngày trong tuần
Giá trị trả về của getUTCDay() không bắt đầu từ 1. JavaScript quy ước 0 là Chủ nhật, tiếp theo là 1 cho Thứ hai và tăng dần đến 6 cho Thứ bảy.
Do đó, nếu dùng kết quả để hiển thị tên ngày hoặc xử lý điều kiện, cần xây dựng quy ước tương ứng. Việc nhầm 0 với Thứ hai hoặc coi 6 là Chủ nhật có thể khiến lịch và các thao tác theo ngày hoạt động sai.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Date getUTCDay() trong JavaScript.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *