Phương thức Date toISOString() trong JavaScript
Bùi Tấn Lực
- 1090
- 06/09/2025
Chức năng của Phương thức Date toISOString() trong JavaScript
Phương thức Date toISOString() trong JavaScript dùng để lấy chuỗi thời gian ISO từ đối tượng Date và so sánh các chuỗi đó với nhau, chuỗi ISO-8601 có định dạng YYYY-MM-DDTHH:mm:ss.sssZ và lấy múi giờ quốc tế.
Cú pháp của Phương thức Date toISOString() trong JavaScript
doituongdate.toISOString();
doituongdate: Là một biến trả về từ đối tượng new Date();
Code Phương thức Date toISOString() trong JavaScript
<script>
// Lấy chuỗi ISO từ đối tượng Date
document.write("<b>// Lấy chuỗi ISO từ đối tượng Date</b><br>");
var thoigianmot = new Date("September 02, 2025 09:25:30"); // Ngày 2/9/2025 9h 25 phút 30 giây
var chuotisomot = thoigianmot.toISOString(); // Lấy chuỗi ISO từ đối tượng Date
document.write("Lấy chuỗi ISO từ đối tượng Date: "+chuotisomot+"<br>"); // Kết quả: 2025-09-02T02:25:30.000Z
// Lấy chuỗi ISO từ đối tượng Date
document.write("<b>// Lấy chuỗi ISO từ đối tượng Date</b><br>");
var thoigianhai = new Date("September 03, 2025 09:25:30"); // Ngày 3/9/2025 9h 25 phút 30 giây
var chuotisohai = thoigianhai.toISOString(); // Lấy chuỗi ISO từ đối tượng Date
document.write("Lấy chuỗi ISO từ đối tượng Date: "+chuotisohai+"<br>"); // Kết quả: 2025-09-03T02:25:30.000Z
// So sánh 2 chuỗi ISO
document.write("<b>// So sánh 2 chuỗi ISO</b><br>");
if(thoigianhai>thoigianmot){
document.write("Ngày 3/9/2025 đứng sau ngày 2/9/2025");
}
</script>
Kết quả:
// Lấy chuỗi ISO từ đối tượng Date
Lấy chuỗi ISO từ đối tượng Date: 2025-09-02T02:25:30.000Z
// Lấy chuỗi ISO từ đối tượng Date
Lấy chuỗi ISO từ đối tượng Date: 2025-09-03T02:25:30.000Z
// So sánh 2 chuỗi ISO
Ngày 3/9/2025 đứng sau ngày 2/9/2025
Những điều cần lưu ý khi sử dụng Date toISOString() trong JavaScript
Phương thức toISOString() rất tiện khi cần đưa đối tượng Date về một chuỗi thời gian thống nhất. Tuy nhiên, kết quả trả về không sử dụng múi giờ địa phương mà được biểu diễn theo UTC. Đây là điểm cần hiểu rõ để tránh sai lệch thời gian khi lưu dữ liệu, gửi API hoặc hiển thị ngày giờ.
Date toISOString() luôn trả về thời gian UTC
Khi gọi toISOString(), JavaScript chuyển thời điểm trong đối tượng Date sang định dạng ISO 8601 và biểu diễn theo múi giờ UTC. Ký tự Z ở cuối chuỗi cho biết thời gian đang được biểu diễn theo UTC.
Ví dụ, nếu môi trường đang sử dụng múi giờ UTC+7, thời gian địa phương có thể được chuyển thành thời gian UTC thấp hơn 7 giờ:
const date = new Date("2026-08-17T15:30:00+07:00");
console.log(date.toISOString());
// 2026-08-17T08:30:00.000Z
Điều này không có nghĩa thời điểm đã bị thay đổi. Cùng một thời điểm được thể hiện dưới một múi giờ khác. Vì vậy, không nên lấy chuỗi kết quả rồi coi trực tiếp đó là giờ địa phương.
Vì sao kết quả toISOString() có thể khác giờ địa phương?
Đối tượng Date trong JavaScript lưu trữ một thời điểm cụ thể, còn cách hiển thị thời điểm đó có thể phụ thuộc vào múi giờ. Trong khi các phương thức hiển thị theo giờ địa phương có thể cho kết quả theo múi giờ của môi trường, toISOString() luôn chuẩn hóa về UTC.
Chẳng hạn, cùng một thời điểm có thể được biểu diễn như sau:
const date = new Date("2026-08-17T15:30:00+07:00");
console.log(date.toISOString());
// 2026-08-17T08:30:00.000Z
console.log(date.toString());
// Hiển thị theo múi giờ địa phương của môi trường chạy JavaScript
Vì vậy, khi thấy giờ trong chuỗi ISO thấp hơn giờ đang nhìn thấy trên máy, cần kiểm tra múi giờ trước khi kết luận rằng JavaScript xử lý sai. Hai giá trị có thể vẫn chỉ cùng một thời điểm.
Khi nào nên sử dụng Date toISOString() trong thực tế?
toISOString() phù hợp khi cần một cách biểu diễn thời gian nhất quán giữa các hệ thống. Đây là lựa chọn hữu ích khi lưu thời gian vào cơ sở dữ liệu, truyền dữ liệu qua API hoặc ghi lại thời điểm phát sinh của một sự kiện.
Ví dụ, ứng dụng có thể tạo dấu thời gian trước khi gửi dữ liệu lên máy chủ:
const data = {
createdAt: new Date().toISOString()
};
console.log(data);
Việc chuẩn hóa thời gian về UTC giúp hạn chế nhầm lẫn khi máy khách và máy chủ nằm ở các múi giờ khác nhau. Khi cần hiển thị cho người dùng, ứng dụng có thể chuyển thời điểm này sang múi giờ phù hợp ở bước hiển thị thay vì thay đổi dữ liệu gốc.
Đặc biệt, nên ưu tiên cách làm này khi dữ liệu thời gian được trao đổi giữa nhiều hệ thống. Một chuỗi ISO theo UTC giúp bên nhận dễ xác định chính xác thời điểm xảy ra sự kiện mà không phải đoán múi giờ của bên gửi.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Date toISOString() 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 *