Đối tượng Date trong JavaScript đại diện cho một thời điểm cụ thể. Có 4 cách chính để tạo:
1. new Date() - Thời điểm hiện tại
const now = new Date(); // VD: 2024-01-15T10:30:00.000Z
2. new Date(milliseconds) - Milliseconds từ 1/1/1970 (Unix Epoch)
const date = new Date(0); // Thu 01 Jan 1970 00:00:00 GMT
3. new Date(dateString) - Chuỗi ngày tháng (ISO 8601 khuyên dùng)
new Date("2024-01-15");
new Date("2024-01-15T10:30:00");
new Date("January 15, 2024 10:30:00");
4. new Date(year, monthIndex, day, hours, minutes, seconds, ms) - Các thành phần riêng lẻ
new Date(2024, 0, 15); // 15/01/2024 (monthIndex: 0=Jan)
new Date(2024, 0, 15, 10, 30, 0); // Có giờ phút giây
Ví dụ minh họa
<!DOCTYPE html>
<html lang="vi">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tạo Date Object</title>
<style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.result { font-size: 20px; font-weight: 500; margin: 10px 0; }
button { padding: 8px 16px; cursor: pointer; }
</style>
</head>
<body>
<h1>Tạo đối tượng Date trong JavaScript</h1>
<div style="color: green;" class="result" id="result"></div>
<button class="Btn" id="btn">NHẤN VÀO ĐÂY</button>
<h3> Nhấn nút để tạo date object và hiển thị </h3>
<script>
const resEle = document.querySelector("#result");
document.querySelector("#btn").addEventListener("click", () => {
const now = new Date();
resEle.innerHTML = "Ngày giờ hiện tại: " + now.toLocaleString('vi-VN') +
"
ISO String: " + now.toISOString() +
"
Timestamp (ms): " + now.getTime();
});
</script>
</body>
</html>
Kết quả
Khi nhấn nút, hiển thị ngày giờ hiện tại theo định dạng Việt Nam, ISO string và timestamp.
Lưu ý quan trọng:
- Tháng là 0-based: 0 = Tháng 1, 11 = Tháng 12
- Ngày là 1-based: 1-31
- Múi giờ:
Datelưu trữ UTC, hiển thị theo múi giờ địa phương - Date.parse() hành vi không nhất quán giữa trình duyệt - khuyên dùng ISO 8601
Phương thức lấy thông tin thường dùng:
getFullYear() // Năm 4 chữ số
getMonth() // Tháng 0-11
getDate() // Ngày 1-31
getDay() // Thứ 0-6 (0=CN)
getHours() // Giờ 0-23
getMinutes() // Phút 0-59
getSeconds() // Giây 0-59
getTime() // Milliseconds từ epoch
toLocaleString('vi-VN') // Định dạng Việt Nam