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

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

Phương thức getTime() trả về giá trị số (timestamp) tương ứng với thời gian của đối tượng Date, tính bằng mili-giây từ epoch (1/1/1970 00:00:00 UTC). Đây là cách chuẩn để lấy giá trị số của một Date object.

Cú pháp

dateObj.getTime()
  • Trả về: Số mili-giây (number), có thể âm (trước 1970)
  • Không nhận tham số

Ví dụ cơ bản

const date = new Date('1989-09-26T12:04:25.096');
console.log(date.getTime()); // 622794865096

// Tương đương với:
console.log(date.valueOf()); // 622794865096
console.log(+date);          // 622794865096 (unary plus)

Date hiện tại

const now = new Date();
console.log(now.getTime()); // Timestamp hiện tại
// Tương đương Date.now() nhưng tạo object Date trước

So sánh ngày tháng

const d1 = new Date('2024-01-01');
const d2 = new Date('2024-12-31');

if (d1.getTime() < d2.getTime()) {
  console.log("d1 trước d2");
}

// Khoảng cách hai ngày (mili-giây)
const diffMs = d2.getTime() - d1.getTime();
const diffDays = diffMs / (1000 * 60 * 60 * 24);
console.log(`${diffDays} ngày`); // 365

Ứng dụng

  • So sánh, sắp xếp ngày tháng (number so sánh nhanh hơn object)
  • Lưu trữ timestamp trong database, JSON
  • Tính khoảng thời gian, countdown
  • Cache key, unique ID dựa trên thời gian
  • Benchmark: const t = Date.now(); ...; console.log(Date.now() - t)

Lưu ý

  • Trả về NaN nếu Date object là Invalid Date
  • Date.now() nhanh hơn new Date().getTime() (không alloc object)
  • Độ chính xác: mili-giây (browser), có thể cao hơn trong Node.js
  • Timestamp âm cho ngày trước 1970