Phương thức tĩnh Date.parse() phân tích chuỗi ngày tháng và trả về số mili-giây kể từ thời điểm epoch (1/1/1970 00:00:00 UTC). Nếu chuỗi không hợp lệ, trả về NaN.
Cú pháp
Date.parse(dateString)
dateString: Chuỗi biểu diễn ngày tháng (định dạng ISO 8601, RFC 2822, hoặc các định dạng khác)- Trả về: Số mili-giây (timestamp) hoặc
NaN
Định dạng chuỗi được hỗ trợ
- ISO 8601 (khuyến nghị):
"2024-12-25","2024-12-25T10:30:00Z","2024-12-25T10:30:00+07:00" - RFC 2822:
"Mon, 25 Dec 2024 10:30:00 GMT" - Các định dạng khác:
"December 25, 2024","Dec 25, 2024 10:30:00"
Ví dụ cơ bản
// ISO 8601 (khuyến nghị)
console.log(Date.parse("2024-12-25")); // 1735084800000
console.log(Date.parse("2024-12-25T10:30:00Z")); // 1735122600000
console.log(Date.parse("2024-12-25T10:30:00+07:00")); // 1735096200000
// RFC 2822
console.log(Date.parse("Wed, 25 Dec 2024 10:30:00 GMT")); // 1735122600000
// Định dạng khác
console.log(Date.parse("December 25, 2024")); // 1735084800000
Ví dụ chuyển đổi ngược
const timestamp = Date.parse("Aug 28, 2008 23:30:00");
const date = new Date(timestamp);
console.log(date.toString()); // "Thu Aug 28 2008 23:30:00 GMT+0700 (Indochina Time)"
Chuỗi không hợp lệ
console.log(Date.parse("invalid date")); // NaN
console.log(Date.parse("2024-13-45")); // NaN
console.log(Date.parse("")); // NaN
Lưu ý quan trọng
- Luôn dùng ISO 8601 để tránh sự khác biệt giữa trình duyệt/môi trường
- Chuỗi không có múi giờ được coi là local time (trừ ISO date-only được coi là UTC)
- Trả về
NaNthay vì ném lỗi khi chuỗi không hợp lệ - Dùng
new Date(dateString)hoặcDate.parse()cho cùng kết quả
Ứng dụng
- Parse ngày từ API, input người dùng, file cấu hình
- So sánh ngày:
Date.parse(d1) > Date.parse(d2) - Validation ngày tháng