JavaScript:
So sánh hai ngày

Cách làm:

Các đối tượng Date trong JavaScript rất tiện lợi. Khi bạn so sánh chúng, chúng được chuyển đổi thành milli giây kể từ ngày 1 tháng 1 năm 1970, UTC.

let date1 = new Date('2021-07-24');
let date2 = new Date('2021-07-25');

console.log(date1 < date2); // true
console.log(date1 > date2); // false
console.log(date1.getTime() === date2.getTime()); // false

Kết quả mẫu:

true
false
false

Tìm hiểu sâu hơn

Bên trong, các đối tượng Date chỉ là milli giây. Trong lịch sử, lập trình viên phải quản lý thao tác với ngày một cách thủ công, tính toán thời gian đã trôi qua từ một điểm dữ liệu, thường gặp rủi ro về lỗi. So sánh các đối tượng Date làm cho cuộc sống dễ dàng hơn, mặc dù vẫn không hoàn toàn tránh khỏi lỗi, đặc biệt là với các múi giờ và giờ tiết kiệm ánh sáng.

Có phương pháp thay thế? Chắc chắn. Các thư viện như moment.js hoặc date-fns giúp xử lý các kịch bản phức tạp và cung cấp thêm tiện ích cho việc thao tác với ngày.

Về việc triển khai, điều quan trọng cần nhớ là so sánh trực tiếp các đối tượng Date (với ==) so sánh tham chiếu, không phải giá trị. Sử dụng getTime() cho một so sánh giá trị chính xác. Và hãy cẩn thận với các múi giờ khi phân tích cú pháp cho ngày; rất dễ bị nhầm lẫn nếu bạn không cẩn thận.

Xem thêm