Làm cách nào tôi có thể so sánh hai ngày trong javascript?

Làm thế nào để bạn so sánh nếu hai ngày bằng nhau?

Để so sánh hai ngày, bạn có thể sử dụng

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
2 hoặc
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
3. Phương thức
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
2 chuyển đổi ngày thành chuỗi ngày ISO và phương thức
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
3 chuyển đổi ngày thành mili giây kể từ kỷ nguyên

Trước và sau

Mặc dù cả

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
6 và
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
7 đều không thể so sánh hai ngày có bằng nhau hay không, nhưng đáng ngạc nhiên là cả
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
8 và
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
0 đều hoạt động tốt để so sánh ngày

Vì vậy, để kiểm tra xem ngày

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
1 có trước ngày
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
2 hay không, bạn chỉ cần kiểm tra
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
3

Một thủ thuật gọn gàng khác. bạn có thể trừ ngày trong JavaScript. Trừ đi

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
4 sẽ cho bạn sự khác biệt giữa hai ngày tính bằng mili giây

Nói cách khác, bạn có thể so sánh hai ngày

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
1 và
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
2 bằng cách sử dụng
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
4. Nếu
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
2 đứng sau
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
1 thì
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
90

Sắp xếp

Sắp xếp một mảng ngày trong JavaScript không hoạt động như bạn mong đợi. Cuộc gọi

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
91 dưới đây cung cấp cho bạn các ngày theo thứ tự ngược lại

Tại sao vậy? . Vì vậy,

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
91 ở trên thực sự được sắp xếp dựa trên các giá trị chuỗi bên dưới

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]

Nói cách khác, JavaScript mặc định sắp xếp các mảng ngày dựa trên ngày trong tuần

Để sắp xếp ngày dựa trên ngày nào xảy ra trước, bạn cần chuyển hàm gọi lại

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
93 cho hàm
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
91. Hàm
[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
93 sẽ trả về

Bạn chỉ cần sử dụng phương pháp

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
5 để so sánh hai ngày trong JavaScript. Phương thức này trả về số mili giây kể từ kỷ nguyên ECMAScript (ngày 1 tháng 1 năm 1970 lúc 00. 00. 00 UTC)

Hãy cùng xem ví dụ sau để hiểu cơ bản nó hoạt động như thế nào

[ 'Fri May 31 2019 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Thu May 31 2018 20:00:00 GMT-0400 (Eastern Daylight Time)',
  'Wed May 31 2017 20:00:00 GMT-0400 (Eastern Daylight Time)' ]
1


Câu hỏi thường gặp liên quan

Dưới đây là một số câu hỏi thường gặp khác liên quan đến chủ đề này

Chúng ta có thể so sánh hai ngày trong JavaScript không?

Trong JavaScript, chúng ta có thể so sánh hai ngày bằng cách chuyển đổi chúng thành giá trị số tương ứng với thời gian của chúng . Đầu tiên, chúng ta có thể chuyển đổi Ngày thành giá trị số bằng cách sử dụng hàm getTime(). Bằng cách chuyển đổi các ngày đã cho thành các giá trị số, chúng ta có thể so sánh chúng trực tiếp.

Làm cách nào để so sánh hai ngày bằng nhau trong JavaScript?

Để xử lý so sánh đẳng thức, chúng tôi sử dụng đối tượng ngày cùng với phương thức ngày getTime() trả về số mili giây. Nhưng nếu chúng ta muốn so sánh thông tin cụ thể như ngày, tháng, v.v., chúng ta có thể sử dụng các phương thức ngày khác như getDate(), getHours(), getDay(), getMonth() và getYear().

Làm cách nào để so sánh hai định dạng ngày khác nhau trong JavaScript?

Cách tiếp cận tốt hơn để so sánh giữa các ngày là sử dụng hàm getTime() . Chức năng này cho phép chuyển đổi ngày thành giá trị số để so sánh trực tiếp chúng.

Làm cách nào để so sánh hai ngày ở định dạng yyyy mm dd trong JavaScript?

function getDate(dateString) { //Hàm này giả định rằng chuỗi ngày tháng sẽ luôn có định dạng YYYY-MM-DD HH. MM. SS var dateParts = dateString. tách ra(' '); . tách ra('-'); . tách ra('. ');