Làm cách nào để kiểm tra ngày bắt đầu lớn hơn ngày kết thúc trong JavaScript?

Nhưng thông thường, các nhà phát triển gặp khó khăn với kiểu dữ liệu này và cuối cùng sử dụng các thư viện ngày tháng như Moment. js cho các tác vụ đơn giản không xứng đáng với kích thước gói lớn đi kèm với việc cài đặt toàn bộ gói

Trong bài viết này, chúng ta sẽ tìm hiểu cách thực hiện so sánh ngày tháng trong JavaScript. Nếu bạn cần mã nhanh chóng, đây là

const compareDates = (d1, d2) => {
  let date1 = new Date(d1).getTime();
  let date2 = new Date(d2).getTime();

  if (date1 < date2) {
    console.log(`${d1} is less than ${d2}`);
  } else if (date1 > date2) {
    console.log(`${d1} is greater than ${d2}`);
  } else {
    console.log(`Both dates are equal`);
  }
};

compareDates("06/21/2022", "07/28/2021");
compareDates("01/01/2001", "01/01/2001");
compareDates("11/01/2021", "02/01/2022");

Điều này sẽ trở lại

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"

Khi nghĩ đến việc so sánh ngày tháng trong JavaScript, chúng ta nghĩ đến việc sử dụng đối tượng Date (

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
3) và tất nhiên, nó hoạt động

Đối tượng ngày tháng cho phép chúng ta thực hiện so sánh bằng cách sử dụng các toán tử so sánh

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
4,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
5,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
6 hoặc
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
7, nhưng không phải là các toán tử so sánh đẳng thức như
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
8,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
9,
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
0 và
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
1 (trừ khi chúng ta đính kèm các phương thức ngày tháng vào đối tượng ngày tháng)

Hãy bắt đầu bằng cách tìm hiểu cách thực hiện phép so sánh chỉ sử dụng đối tượng ngày tháng, sau đó chúng ta sẽ xem cách thực hiện phép so sánh bằng cách sử dụng đối tượng ngày tháng cùng với các phương thức ngày tháng

Cách thực hiện so sánh ngày với đối tượng ngày trong JavaScript

Giả sử chúng ta muốn so sánh hai ngày trong JavaScript. Chúng ta có thể dễ dàng sử dụng Đối tượng Ngày (______13) theo cách này

let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}

Ở trên sẽ trả về rằng cả hai ngày đều giống nhau vì chúng tôi đã không vượt qua các ngày khác nhau

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
3

Bây giờ chúng ta hãy vượt qua các giá trị ngày khác nhau

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
4

Điều này bây giờ sẽ trả lại như sau

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
5

May mắn thay, ở trên xử lý đẳng thức là tùy chọn cuối cùng khi hai điều kiện đầu tiên không thành công. Nhưng giả sử chúng ta cố gắng xử lý bình đẳng như điều kiện theo cách này

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
6

Nó sẽ trả về như sau, đó là sai

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
7

Cách thực hiện so sánh đẳng thức với 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

let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
3 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ư
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
4,
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
5,
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
6,
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
7 và
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
8

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
4

Điều này sẽ trở lại

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
5

Chúng ta có thể chuyển các ngày khác nhau vào đối tượng ngày để so sánh

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
0

Như mong đợi điều này sẽ trở lại

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
1

Ghi chú. Với phương pháp

let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
3, chúng ta có thể thực hiện tất cả các dạng so sánh ngày bằng cách sử dụng tất cả các toán tử so sánh, đó là
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
4,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
5,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
32,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
7,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
8,
"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
9,
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
0 và
let date1 = new Date();
let date2 = new Date();

if (date1 > date2) {
  console.log("Date 1 is greater than Date 2");
} else if (date1 < date2) {
  console.log("Date 1 is less than Date 2");
} else {
  console.log("Both Dates are same");
}
1

Cách thực hiện so sánh ngày cụ thể

Giả sử chúng ta muốn so sánh các giá trị ngày cụ thể như năm. Sau đó, chúng ta có thể sử dụng phương thức ngày

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
38 theo cách này

"06/21/2022 is greater than 07/28/2021"
"Both dates are equal"
"11/01/2021 is less than 02/01/2022"
2

Phần kết luận

Trong bài viết này, bạn đã học cách so sánh ngày tháng trong JavaScript bằng cách sử dụng Đối tượng ngày tháng mà không cần phải cài đặt bất kỳ thư viện nào

mã hóa hạnh phúc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Làm cách nào để kiểm tra ngày bắt đầu lớn hơn ngày kết thúc trong JavaScript?
Joel Olawanle

Nhà phát triển Frontend & Người viết kỹ thuật


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để kiểm tra xem một ngày có nhỏ hơn một ngày khác trong JavaScript không?

Để kiểm tra xem một ngày có trước một ngày khác hay không, so sánh các đối tượng Ngày, e. g. ngày1 < ngày2 . Nếu phép so sánh trả về true , thì ngày đầu tiên ở trước ngày thứ hai, nếu không thì ngày đầu tiên bằng hoặc đến sau ngày thứ hai.

Làm cách nào để kiểm tra xem ngày có bằng javascript ngày hiện tại không?

Để kiểm tra xem một ngày có phải là ngày hôm nay không. .
Sử dụng hàm tạo Date() để lấy ngày hôm nay
Sử dụng phương thức toDateString() để so sánh hai ngày
Nếu phương thức trả về 2 chuỗi bằng nhau, ngày là ngày hôm nay