Phương thức Date getUTCMonth() trong JavaScript
Bùi Tấn Lực
- 961
- 04/09/2025
Chức năng của Phương thức Date getUTCMonth() trong JavaScript
Phương thức Date getUTCMonth() trong JavaScript dùng để lấy giá trị của các tháng theo múi giờ quốc tế (UTC) dựa vào thời gian hiện tại hoặc thời gian được chỉ định trong đối tượng Date, sau đó kết hợp với mảng hoặc function để cho ra tháng thực tế.
Cú pháp của Phương thức Date getUTCMonth() trong JavaScript
doituongdate.getUTCMonth();
doituongdate: Đối tượng thời gian new Date();
Giá trị kết quả của Phương thức Date getUTCMonth() trong JavaScript
Kết quả của phương thức getUTCMonth() được trả về từ giá trị 0 tới 11, tương đương từ tháng 1 tới tháng 12:
0: tháng 1
1: tháng 2
2: tháng 3
3: tháng 4
4: tháng 5
5: tháng 6
6: tháng 7
7: tháng 8
8: tháng 9
9: tháng 10
10: tháng 11
11: tháng 12
Để xuất ra kết quả đúng tháng thì phải kết hợp với mảng hoặc function.
Code Phương thức Date getUTCMonth() trong JavaScript
<script>
var mangthang = ["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"];
// Lấy tháng hiện tại theo múi giờ quốc tế (UTC)
document.write("<b>// Lấy tháng hiện tại theo múi giờ quốc tế (UTC)</b><br>");
var date = new Date();
var thang = date.getUTCMonth();
document.write("Tháng hiện tại theo múi giờ quốc tế (UTC): "+mangthang[thang]+"<br>"); // Kết quả: Tháng 9
// Lấy tháng theo thời gian tạo, theo múi giờ quốc tế (UTC)
document.write("<b>// Lấy tháng theo thời gian tạo, theo múi giờ quốc tế (UTC)</b><br>");
var datehai = new Date("September 01, 2025 00:25:30");
var thanghai = datehai.getUTCMonth();
document.write("Tháng theo thời gian tạo, theo múi giờ quốc tế (UTC): "+mangthang[thanghai]+"<br>"); // Kết quả: Tháng 8
</script>
Kết quả:
// Lấy tháng hiện tại theo múi giờ quốc tế (UTC)
Tháng hiện tại theo múi giờ quốc tế (UTC): Tháng 9
// Lấy tháng theo thời gian tạo, theo múi giờ quốc tế (UTC)
Tháng theo thời gian tạo, theo múi giờ quốc tế (UTC): Tháng 8
Những lưu ý khi sử dụng getUTCMonth() trong JavaScript
Khi làm việc với getUTCMonth(), phần dễ gây nhầm lẫn nhất không nằm ở cú pháp mà ở cách JavaScript biểu diễn tháng và cách phương thức này xử lý thời gian theo UTC. Hiểu rõ các điểm dưới đây sẽ giúp hạn chế lỗi khi xây dựng chức năng lịch, thống kê hoặc xử lý ngày tháng.
Giá trị tháng được tính từ 0 đến 11
getUTCMonth() không trả về số tháng theo cách con người thường sử dụng. Giá trị được đánh số từ 0 đến 11, trong đó 0 tương ứng tháng 1 và 11 tương ứng tháng 12.
Vì vậy, nếu lấy trực tiếp kết quả để hiển thị cho người dùng, cần cộng thêm 1. Ngược lại, khi dùng giá trị này để làm việc với các mảng có 12 phần tử, việc giữ nguyên khoảng 0–11 lại rất thuận tiện.
const date = new Date('2026-08-17T10:30:00Z');
const month = date.getUTCMonth();
console.log(month); // 7
console.log(month + 1); // 8
Đây là điểm cần đặc biệt chú ý khi tạo chuỗi như 08/2026. Nếu sử dụng kết quả của phương thức trực tiếp mà không điều chỉnh, tháng hiển thị sẽ bị lệch một đơn vị.
Phân biệt getUTCMonth() với getMonth()
Hai phương thức đều lấy thông tin tháng từ một đối tượng Date, nhưng dựa trên hai múi giờ khác nhau. getMonth() sử dụng múi giờ địa phương của môi trường đang chạy JavaScript, còn getUTCMonth() tính theo múi giờ UTC.
Sự khác biệt thường chỉ xuất hiện rõ khi thời điểm đang xét nằm gần ranh giới giữa hai ngày hoặc hai tháng. Chẳng hạn, một thời điểm có thể vẫn thuộc tháng này theo UTC nhưng đã chuyển sang tháng kế tiếp theo múi giờ địa phương.
const date = new Date('2026-08-31T23:30:00Z');
console.log(date.getUTCMonth());
console.log(date.getMonth());
Do đó, nên chọn phương thức dựa trên nguồn dữ liệu và mục đích xử lý. Với dữ liệu được quy ước theo UTC như thời gian từ API hoặc hệ thống máy chủ, getUTCMonth() giúp việc phân loại tháng nhất quán hơn giữa các môi trường.
Lưu ý khi xử lý tháng ở thời điểm gần ngày đầu hoặc cuối tháng
Các thời điểm nằm sát ngày đầu hoặc cuối tháng cần được xử lý cẩn thận vì chênh lệch múi giờ có thể khiến tháng được xác định khác nhau. Đây là tình huống dễ gặp khi dữ liệu được lưu dưới dạng thời gian UTC nhưng hiển thị theo giờ địa phương.
Nếu mục tiêu là thống kê dữ liệu theo tháng dựa trên mốc UTC, hãy sử dụng getUTCMonth() cùng các phương thức UTC tương ứng thay vì trộn lẫn cách tính giữa UTC và giờ địa phương.
Ngoài ra, không nên chỉ kiểm tra riêng giá trị tháng khi xử lý dữ liệu xuyên năm. Kết quả 0 có thể là tháng 1 của nhiều năm khác nhau, vì vậy trong trường hợp cần xác định một tháng cụ thể, nên kết hợp thêm năm để tạo thành một mốc đầy đủ.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Date getUTCMonth() 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 *