Đối tượng Date() trong JavaScript
Trần Thị Vân
- 1243
- 01/09/2025
Chức năng của Đối tượng Date() trong JavaScript
Đối tượng Date() trong JavaScript dùng để chứa một thời gian nhất định bằng cách lấy thời gian hiện tại hoặc tự tạo thời gian.
Cú pháp của Đối tượng Date() trong JavaScript
Đối tượng Date lấy thời gian hiện tại
var doituongdate = new Date();
doituongdate: Đối tượng thời gian hiện tại new Date();
Đối tượng Date chỉ định thời gian
var doituongdate = new Date(thang ngay, nam gio:phut:giay.miligiay);
doituongdate: Đối tượng thời gian chỉ định new Date();
thang: Tháng bằng tiếng anh (Ví dụ: September)
ngay: Ngày (Ví dụ: 02)
nam: Năm (Ví dụ: 2025)
gio: Giờ (Ví dụ: 09)
phut: Phút (Ví dụ: 25)
giay: Giây (Ví dụ: 20)
miligiay: Mili giây được tính từ số 0 tới số 999 (Ví dụ: 666)
Ví dụ:
var datehai = new Date("September 02, 2025 09:25:30.666");
Code Đối tượng Date() trong JavaScript
<script>
// Tạo đối tượng Date bằng cách lấy thời gian hiện tại
document.write("<b>// Tạo đối tượng Date bằng cách lấy thời gian hiện tại</b><br>");
var thoigianmot = new Date();
document.write(thoigianmot+"<br>");
// Tạo đối tượng Date bằng cách tạo định dạng Y-m-d
document.write("<b>// Tạo đối tượng Date bằng cách tạo định dạng Y-m-d</b><br>");
var thoigianhai = new Date("2025-08-30");
document.write(thoigianhai+"<br>");
</script>
Kết quả:
// Tạo đối tượng Date bằng cách lấy thời gian hiện tại
Mon Sep 01 2025 20:59:53 GMT+0700 (Giờ Đông Dương)
// Tạo đối tượng Date bằng cách tạo định dạng Y-m-d
Sat Aug 30 2025 07:00:00 GMT+0700 (Giờ Đông Dương)
Những lưu ý quan trọng khi làm việc với Date trong JavaScript
Đối tượng Date giúp JavaScript xử lý ngày giờ, nhưng kết quả có thể khác với mong đợi nếu không chú ý đến cách tạo, đọc và chuyển đổi thời gian. Một vài nguyên tắc dưới đây sẽ giúp hạn chế lỗi khi làm việc với Date.
Cẩn thận với tháng khi tạo đối tượng Date
Khi truyền các giá trị riêng lẻ vào new Date(), tháng được đánh số từ 0 đến 11. Vì vậy, tháng 1 tương ứng với 0, tháng 2 tương ứng với 1 và tháng 12 tương ứng với 11.
const date = new Date(2026, 7, 17);
console.log(date);
Trong ví dụ trên, giá trị 7 đại diện cho tháng 8. Đây là điểm rất dễ gây nhầm khi tạo ngày bằng năm, tháng và ngày thay vì sử dụng chuỗi ngày tháng.
Phân biệt thời gian địa phương và thời gian UTC
JavaScript có thể làm việc với thời gian theo múi giờ địa phương hoặc theo UTC. Các phương thức bắt đầu bằng getUTC đọc giá trị theo UTC, trong khi những phương thức như getHours() hoặc getDate() sử dụng múi giờ địa phương của môi trường đang chạy.
Điều này đặc biệt quan trọng khi website trao đổi dữ liệu giữa nhiều quốc gia. Nếu không xác định rõ múi giờ, cùng một thời điểm có thể được hiển thị thành ngày hoặc giờ khác nhau.
Kiểm tra ngày không hợp lệ trước khi xử lý
Không phải mọi đối tượng Date được tạo ra đều chứa một thời điểm hợp lệ. Khi dữ liệu đầu vào sai định dạng hoặc không thể chuyển thành ngày hợp lệ, Date có thể tạo ra giá trị Invalid Date.
const date = new Date("du-lieu-khong-hop-le");
if (Number.isNaN(date.getTime())) {
console.log("Ngày không hợp lệ");
}
Kiểm tra dữ liệu trước khi định dạng hoặc tính toán sẽ giúp tránh đưa kết quả sai vào giao diện, biểu mẫu hoặc dữ liệu gửi lên máy chủ.
Tránh nhầm giữa Date và chuỗi ngày tháng
Chuỗi như "2026-08-17" chỉ là dữ liệu dạng text cho đến khi JavaScript phân tích nó thành một giá trị ngày. Vì vậy, không nên xem chuỗi ngày tháng và đối tượng Date là cùng một kiểu dữ liệu.
Khi nhận ngày từ API, biểu mẫu hoặc cơ sở dữ liệu, nên xác định rõ dữ liệu đang ở dạng chuỗi hay đã được chuyển thành Date. Việc này giúp tránh lỗi khi gọi các phương thức xử lý ngày giờ.
Lưu ý khi so sánh và tính toán thời gian
Hai đối tượng Date khác nhau không nên được so sánh bằng cách kiểm tra trực tiếp hai đối tượng có giống nhau hay không. Cách phù hợp là lấy giá trị thời gian của chúng để so sánh.
const firstDate = new Date("2026-08-17");
const secondDate = new Date("2026-08-20");
if (firstDate.getTime() < secondDate.getTime()) {
console.log("firstDate xảy ra trước secondDate");
}
Khi cần tính khoảng cách giữa hai thời điểm, cũng nên dựa trên giá trị thời gian thay vì tự cộng trừ ngày, tháng theo cách thủ công. Cách này giảm nguy cơ sai lệch khi gặp tháng có số ngày khác nhau hoặc thời điểm chuyển sang năm mới.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Đối tượng Date() 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 *