Nội dung bài viết
Video học lập trình mỗi ngày
So sánh 2 ngày trong javascript, đây là một bài viết nhỏ nhỏ và để tôi kể cho các anh chị nghe một tình huống về một bạn cũng có exp 1 năm rồi, chú ý bài viết chỉ tips khắc phục không có ý định cười. Vì tôi cũng một thời như thế...
So sánh datetime trong JavaScript
Ai cũng bị ít nhất một lần mà thôi, cho nên ghi lại cho mấy bạn sau này tự nhìn rồi cười... Nếu chúng ta muốn so sánh 2 ngày trong javascript thì chúng ta không nên so sánh trực tiếp với Object
vì các bạn chỉ có thiệt mà thôi. Đơn giản vì sao, bởi vì objects JavaScript các đối tượng là một kiểu tham chiếu.
Hai đối tượng khác biệt không bao giờ bằng nhau, ngay cả khi chúng có cùng tính chất. Điều đó cho nên một khi chúng ta làm như thế này để Compare date JavaScript là sai hoàn toàn.
Ví dụ:
const event = new Date('05 October 2021 14:48 UTC');
const event1 = new Date('05 October 2021 14:48 UTC');
console.log(event === event1); // return false
Compare date JavaScript
Vậy cách giải quyết như thế nào? Rất đơn giản chúng ta có thể sử dụng những thuộc tính của Date
như Date.prototype.toISOString()
,Date.prototype.toUTCString()
, Date.prototype.toLocaleDateString()
. Cùng xem ví dụ sau đây.
Ví dụ:
const event = new Date('05 October 2021 14:48 UTC');
const event1 = new Date('05 October 2021 14:48 UTC');
console.log(event.toISOString() === event1.toISOString()); // return true
console.log(event.toUTCString() === event1.toUTCString()); // return true
console.log(event.toLocaleDateString() === event1.toLocaleDateString()); // return true
Nhưng có một cách tuyệt hơn mà tôi cũng thường sử đụng đó là Date.prototype.getTime()
, đơn giản là nó rất dễ sử dụng và thân thuộc với chúng ta nhiều hơn.
Ví dụ:
const event = new Date('05 October 2021 14:48 UTC');
const event1 = new Date('05 October 2021 14:48 UTC');
console.log(event.getTime() === event1.getTime()); // return true
Có nhiều phương pháp để bạn làm được điều đó nhưng bạn nên sử dụng getTime()
thì tốt hơn.