Bạn có thể so sánh hai ngày javascript không?

Bạn chỉ cần sử dụng phương thức getTime() để 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

// Sample dates
var date1 = new Date("August 15, 1994");
var date2 = new Date("December 10, 2022 04:30:00");
var date3 = new Date("2022-12-10T04:30:00");

// Performing comparison
console.log(date1.getTime() == date2.getTime()); // Prints: false
console.log(date1.getTime() == date3.getTime()); // Prints: false
console.log(date2.getTime() == date3.getTime()); // Prints: true
console.log(date2.getTime() != date3.getTime()); // Prints: false
console.log(date1.getTime() > date2.getTime());  // Prints: false
console.log(date1.getTime() < date2.getTime());  // Prints: true
console.log(date1.getTime() != date2.getTime()); // Prints: true


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

Nhiều gói bên ngoài như Moment. js thường được các nhà phát triển web sử dụng để xử lý các thao tác ngày giờ. Tuy nhiên, sau sự phát triển của CNTT, JavaScript đã khởi chạy một hàm tạo phiên bản mới được gọi là Ngày để xử lý các hoạt động ngày giờ

Tạo phiên bản của Ngày

Trước hết, bạn cần tạo một đối tượng Date. Hàm tạo date() được sử dụng để tạo một đối tượng kiểu ngày tháng. Chúng tôi sử dụng nhiều cách khác nhau để khởi tạo một Ngày

mới Ngày ()   // current time and date will be returned
new Date (ms)
new Date (stringdate)
new Date(y,m,d,h,min,sec,ms)

Ở đâu; . Ở đây tham số của tháng bắt đầu từ 0 đến 11

So sánh ngày trong JavaScript

Trong bài viết này, chúng tôi trình bày các cách khác nhau để đối chiếu ngày tháng trong JavaScript. Phương pháp đơn giản nhất để so sánh ngày tháng trong JavaScript là sử dụng hàm getTime()

So sánh ngày trong JavaScript thông qua hàm getTime()

Nếu bạn muốn so sánh ngày với thời gian trong JavaScript thì bạn có thể sử dụng hàm tích hợp sẵn getTime(). Hàm getTime() chuyển đổi Ngày thành giá trị số. Khi các giá trị của Ngày được chuyển thành giá trị số thì bạn có thể dễ dàng so sánh hai ngày. Trong ví dụ này, chúng tôi sử dụng các toán tử logic để so sánh hai ngày tương ứng

const instancedate1 = mới Ngày("2021-01-31")
const instancedate2 = new Date("2021-04-21")
const instancedate3 = new Date("2021-01-31")
console.log( instancedate1. getTime() > instancedate2. getTime())
bảng điều khiển. log( instancedate1. getTime() < instancedate2. getTime())
bảng điều khiển. log( instancedate1. getTime() === instancedate3.getTime())
bảng điều khiển. log( instancedate1. getTime() . == instancedate3. getTime())

đầu ra

Bạn có thể so sánh hai ngày javascript không?

So sánh Ngày trong JavaScript với valueOf

Có một cách khác để so sánh Ngày trong JavaScript bằng cách sử dụng phương thức valueOf. Nó sẽ trả về mili giây cho một khoảng thời gian cụ thể. Hàm valueOf() trả về true hoặc false khi so sánh hai ngày

Thí dụ

const instancedate1 = mới Ngày("2021-01-31")
const instancedate2 = new Date("2021-04-21")
const instancedate3 = new Date("2021-01-31")
 
console.log( instancedate1. valueOf() > instancedate2. valueOf())
bảng điều khiển. log( instancedate1. valueOf() < instancedate2. valueOf())
bảng điều khiển. log( instancedate1. valueOf() === instancedate3.valueOf())
bảng điều khiển. log( instancedate1. giá trị của() . == instancedate3. valueOf())

đầu ra

Bạn có thể so sánh hai ngày javascript không?

So sánh Ngày trong JavaScript bằng các hàm getMonth(), getDate() và getFullYear()

JavaScript không có tính năng so sánh Ngày không có thời gian trực tiếp. Nếu bạn muốn thực hiện kiểu so sánh này thì bạn cần tìm nạp tháng, năm và ngày từ các đối tượng riêng lẻ. Dưới đây là một ví dụ để đối chiếu hai ngày bằng cách sử dụng các hàm có sẵn của JavaScript

function function_DateEqual ( instancedate1 , instancedate2) {
    return instancedate1.getFullYear() === instancedate2.getFullYear() &&
    instancedate1. getMonth() === instancedate2.getMonth() &&
    instancedate1. getDate() === instancedate2.getDate()
}
 < . 11. 12Z"
const instancedate1 = new Date("2020-02-31T09:11:12Z")
const instancedate2 = new Date("2020-04-21T12:10:34Z")
const instancedate3 = new Date("2020-02-31T03:34:23Z")
 
bảng điều khiển. log( function_DateEqual ( instancedate1 . , instancedate3))
console.log( function_DateEqual ( instancedate1 , instancedate2))

đầu ra

Bạn có thể so sánh hai ngày javascript không?

So sánh ngày trong JavaScript bằng hàm toDateString()

Có một phương pháp khác để so sánh Ngày trong JavaScript mà không sử dụng thời gian. Bạn có thể sử dụng hàm toDateString() để so sánh ngày bằng cách chỉ tìm nạp ngày

instancedate1 = mới Ngày(instancedate1.toDateString())
instancedate2 . = new Date(instancedate2.toDateString())
instancedate3 . = new Date(instancedate3.toDateString())
 < .
console.log( instancedate1. getTime() > instancedate2. getTime())
bảng điều khiển. log( instancedate1. getTime() < instancedate2. getTime())
bảng điều khiển. log( instancedate1. getTime() === instancedate3.getTime())

đầu ra

Bạn có thể so sánh hai ngày javascript không?

So sánh ngày trong JavaScript theo date-fns

Chúng ta không nên chỉ dựa vào đối tượng ngày của JavaScript để so sánh ngày. Thay vì sử dụng nhiều phương pháp để so sánh ngày cơ bản, tốt hơn là sử dụng ít dòng mã hơn để phát triển so sánh Ngày hiệu quả trong JavaScript mà không cần xem xét thời gian

Date-fns là thư viện của bên thứ ba để thao tác ngày và ví dụ về nó được giải thích bên dưới bằng cách sử dụng các phương pháp khác nhau để xác nhận xem hai ngày lớn hơn, nhỏ hơn hay bằng nhau

let instancedate1 = new Date("2020-02-30T05:11:12Z")
hãy để instancedate2 = mới Date("2020-03-21T11:10:34Z")
let instancedate3 = new Date("2020-02-30T09:11:12Z")
//is instance date1 được viết sau date2
bảng điều khiển. log( datefns. isafter( instancedate2 , instancedate1 . ))
//is instance date1 is written before the instance date2
console.log( datefns. isafter( instancedate3 , instancedate1 . ))
//is instance date1 is equal to instance date2
console.log( ngày fns. isEqual( instancedate1 , instancedate3 . )) console.log( datefns. isEqual( instancedate1 , instancedate2 ))

đầu ra

Bạn có thể so sánh hai ngày javascript không?

Phần kết luận

Chúng tôi đã tìm hiểu mọi thứ về cách so sánh Ngày trong JavaScript cùng với một ví dụ trong bài viết này. Chúng tôi cũng đã giải thích một số cách để so sánh Ngày trong JavaScript. Trong phương thức đầu tiên, chúng ta so sánh ngày thông qua hàm getTime() sau đó chúng ta khám phá một phương thức so sánh ngày thông qua hàm valueOf(). Chúng tôi cũng đã khám phá một số chức năng tích hợp như getMonth(), getDate() và getFullYear() để so sánh Ngày trong JavaScript. Cuối cùng, chúng ta cũng đã thảo luận về một hàm khác toDateString() để so sánh ngày tháng trong JavaScript. Tất cả các phương pháp này đã được giải thích ngắn gọn cùng với các ví dụ về cách sử dụng các hàm Ngày trong JavaScript để so sánh ngày hiện tại với ngày trước đó và ngày trong tương lai

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 ngày trong JavaScript mà không có thời gian?

Chỉ cần sử dụng toDateString() vào cả hai ngày . toDateString không bao gồm thời gian, do đó, trong 2 lần vào cùng một ngày, các giá trị sẽ bằng nhau, như minh họa bên dưới.

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

Kết thúc cửa sổ hộp thoại. .
So sánh ngày
hàm so sánh()
var d1=new Date('23-01-2020');
var d2=new Date('21-01-2020');