Phương thức Date toLocaleTimeString() trong JavaScript
Bùi Tấn Lực
- 962
- 06/09/2025
Chức năng của Phương thức Date toLocaleTimeString() trong JavaScript
Phương thức Date toLocaleTimeString() trong JavaScript dùng để lấy giờ, phút, giây của một đối tượng thời gian Date, bạn có thể lấy mặc định cấu hình của máy chủ hoặc theo các tùy chọn ngôn ngữ và tùy chọn đối tượng.
Cú pháp của Phương thức Date toLocaleTimeString() trong JavaScript
Định dạng ngôn ngữ, thời gian tùy chọn theo mặc định của máy chủ
doituongdate.toLocaleTimeString();
doituongdate: Là một biến trả về từ đối tượng new Date();
Định dạng ngôn ngữ, thời gian tùy chọn tự cài đặt
doituongdate.toLocaleTimeString('tuychonngonngu',tuychonthoigian);
doituongdate: Là một biến trả về từ đối tượng new Date();
tuychonngonngu: Ngôn ngữ của các nước, ví dụ: vi-VN là tiếng việt, en-US là tiếng anh,..... tham khảo chi tiết ở phần dưới.
tuychonthoigian: Quy định cách hiển thị của giờ, phút, giây,.... tham khảo chi tiết ở phần dưới.
Các tùy chọn của Phương thức Date toLocaleTimeString() trong JavaScript
Tùy chọn ngôn ngữ
'vi-VN': dành cho hour12 là true, buỗi sáng là SA, buổi chiều là CH.
'en-US': dành cho hour12 là true, buỗi sáng là AM, buổi chiều là PM.
Tùy chọn đối tượng
hour: "numeric", "2-digit" (ví dụ: 7, 07).
minute: "numeric", "2-digit".
second: "numeric", "2-digit".
timeZoneName: "short", "long".
hour12: true (chế độ 12 giờ) hoặc false (chế độ 24 giờ).
Code Phương thức Date toLocaleTimeString() trong JavaScript
<script>
var thoigian = new Date("September 02, 2025 19:05:08");
// Định dạng giờ, phút, giây theo mặc định của máy chủ, tùy vào cài đặt 12h hay 24h
document.write("<b>// Định dạng giờ, phút, giây theo mặc định của máy chủ, tùy vào cài đặt 12h hay 24h</b><br>");
document.write("Định dạng giờ, phút, giây theo mặc định của máy chủ: "+thoigian.toLocaleTimeString()+"<br>"); // Kết quả: 19:05:08
// Định dạng giờ, phút, giây tùy chọn
document.write("<b>// Định dạng giờ, phút, giây tùy chọn</b><br>");
const tuychon = {
hour: 'numeric',
minute: 'numeric',
second: 'numeric',
hour12: true,
};
document.write("Định dạng vi-VN, giờ phút giây tùy chọn: "+thoigian.toLocaleTimeString('vi-VN',tuychon)+"<br>"); // Kết quả: 7:05:08 CH
const tuychonhai = {
hour: 'numeric',
minute: 'numeric',
second: 'numeric',
hour12: false,
};
document.write("Định dạng vi-VN, giờ phút giây tùy chọn: "+thoigian.toLocaleTimeString('vi-VN',tuychonhai)+"<br>"); // Kết quả: 19:05:08
const tuychonba = {
hour: '2-digit',
minute: 'numeric',
second: 'numeric',
hour12: true,
};
document.write("Định dạng en-US, giờ phút giây tùy chọn: "+thoigian.toLocaleTimeString('en-US',tuychonba)+"<br>"); // Kết quả: 7:05:08 CH
</script>
Kết quả:
// Định dạng giờ, phút, giây theo mặc định của máy chủ, tùy vào cài đặt 12h hay 24h
Định dạng giờ, phút, giây theo mặc định của máy chủ: 19:05:08
// Định dạng giờ, phút, giây tùy chọn
Định dạng vi-VN, giờ phút giây tùy chọn: 7:05:08 CH
Định dạng vi-VN, giờ phút giây tùy chọn: 19:05:08
Định dạng en-US, giờ phút giây tùy chọn: 07:05:08 PM
Phân biệt toLocaleTimeString() với các phương thức định dạng thời gian khác
Khi làm việc với đối tượng Date trong JavaScript, nhiều phương thức có thể tạo ra chuỗi thời gian nhưng mục đích sử dụng không giống nhau. Việc chọn đúng phương thức giúp kết quả hiển thị phù hợp với ngữ cảnh, đặc biệt khi website cần phục vụ người dùng ở nhiều khu vực hoặc cần kiểm soát cách trình bày giờ.
toLocaleTimeString() và toTimeString() khác nhau thế nào?
Cả toLocaleTimeString() và toTimeString() đều có thể lấy thông tin thời gian từ một đối tượng Date, nhưng cách tạo chuỗi kết quả khác nhau. toTimeString() hướng đến biểu diễn thời gian theo định dạng tiêu chuẩn của môi trường JavaScript, đồng thời thường bao gồm thông tin múi giờ.
Trong khi đó, toLocaleTimeString() tập trung vào phần thời gian và cho phép trình duyệt định dạng kết quả theo ngôn ngữ, khu vực hoặc các tùy chọn được cung cấp. Vì vậy, phương thức này phù hợp hơn khi chuỗi thời gian được đưa trực tiếp lên giao diện cho người dùng đọc.
Ví dụ, cùng một giá trị Date, kết quả từ toTimeString() có thể chứa phần múi giờ, còn toLocaleTimeString() có thể hiển thị theo cách quen thuộc với khu vực của người dùng.
const date = new Date();
console.log(date.toTimeString());
console.log(date.toLocaleTimeString("vi-VN"));
Nếu mục tiêu là tạo chuỗi để hiển thị giờ trên website, toLocaleTimeString() thường là lựa chọn linh hoạt hơn. Ngược lại, khi cần chuỗi thời gian theo cách biểu diễn mặc định của JavaScript, toTimeString() có thể đáp ứng tốt hơn.
Khi nào nên dùng toLocaleTimeString() thay vì toLocaleString()?
Điểm khác biệt quan trọng nằm ở phạm vi thông tin được định dạng. toLocaleTimeString() dành cho phần thời gian, còn toLocaleString() có thể biểu diễn cả ngày và giờ của đối tượng Date.
Do đó, nếu giao diện chỉ cần hiển thị giờ như thời gian mở cửa, giờ đặt lịch hoặc thời điểm một sự kiện diễn ra trong ngày, toLocaleTimeString() giúp kết quả gọn hơn.
const date = new Date();
console.log(date.toLocaleTimeString("vi-VN"));
console.log(date.toLocaleString("vi-VN"));
Nếu cần hiển thị đồng thời ngày và giờ, toLocaleString() sẽ phù hợp hơn. Việc tách riêng hai nhu cầu này giúp mã nguồn dễ đọc và tránh phải xử lý chuỗi để loại bỏ phần thông tin không cần thiết.
Chọn phương thức định dạng thời gian phù hợp với từng trường hợp
Không có một phương thức Date nào phù hợp cho mọi tình huống. Có thể lựa chọn dựa trên mục đích cuối cùng của chuỗi kết quả:
- toLocaleTimeString(): phù hợp khi chỉ cần hiển thị giờ theo cách thân thiện với người dùng và có thể tùy chỉnh theo locale.
- toTimeString(): phù hợp khi cần biểu diễn phần thời gian theo định dạng mặc định, thường đi kèm thông tin múi giờ.
- toLocaleString(): phù hợp khi giao diện cần cả ngày và giờ trong một chuỗi.
- toISOString(): phù hợp khi cần một chuỗi thời gian có định dạng nhất quán để trao đổi hoặc lưu trữ dữ liệu.
Đối với giao diện website, nên ưu tiên các phương thức định dạng theo locale khi dữ liệu cần con người đọc. Còn với dữ liệu trao đổi giữa các hệ thống, nên chọn định dạng có tính nhất quán thay vì phụ thuộc vào thiết lập ngôn ngữ của thiết bị.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Date toLocaleTimeString() 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 *