Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Phương thức Date.parse() trong JavaScript

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ề NaN thay vì ném lỗi khi chuỗi không hợp lệ
  • Dùng new Date(dateString) hoặc Date.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