Hướng dẫn how to check two dates are equal in javascript - cách kiểm tra hai ngày bằng nhau trong javascript

Làm thế nào tôi có thể kiểm tra xem hai đối tượng ngày khác nhau có thông tin cùng ngày (có cùng ngày, tháng, năm ...)? Tôi đã thử "==", "===" và .equals nhưng dường như không có gì hoạt động.

Hướng dẫn how to check two dates are equal in javascript - cách kiểm tra hai ngày bằng nhau trong javascript

Frederj

1.3858 Huy hiệu bạc20 Huy hiệu Đồng8 silver badges20 bronze badges

Hỏi ngày 13 tháng 12 năm 2010 lúc 11:25Dec 13, 2010 at 11:25

Bạn có thể sử dụng

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
3 hoặc
var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
4:

a = new Date(1995,11,17);
b = new Date(1995,11,17);

a.getTime() === b.getTime() // prints true

m7913d

9.7647 Huy hiệu vàng27 Huy hiệu bạc52 Huy hiệu Đồng7 gold badges27 silver badges52 bronze badges

Đã trả lời ngày 13 tháng 12 năm 2010 lúc 11:29Dec 13, 2010 at 11:29

Hướng dẫn how to check two dates are equal in javascript - cách kiểm tra hai ngày bằng nhau trong javascript

Felix Klingfelix KlingFelix Kling

775K172 Huy hiệu vàng1073 Huy hiệu bạc1119 Huy hiệu đồng172 gold badges1073 silver badges1119 bronze badges

4

Nếu bạn chỉ quan tâm đến việc kiểm tra xem ngày có xảy ra trong cùng một ngày bất kể thời gian thì bạn có thể sử dụng phương pháp

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
5 để so sánh. Phương thức này chỉ trả về ngày không có thời gian:

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}

Đã trả lời ngày 1 tháng 8 năm 2015 lúc 18:33Aug 1, 2015 at 18:33

Cyberwombatcyberwombatcyberwombat

358K33 Huy hiệu vàng168 Huy hiệu bạc238 Huy hiệu đồng33 gold badges168 silver badges238 bronze badges

0

Tôi đã sử dụng mã này:

Date.prototype.isSameDateAs = function(pDate) {
  return (
    this.getFullYear() === pDate.getFullYear() &&
    this.getMonth() === pDate.getMonth() &&
    this.getDate() === pDate.getDate()
  );
}

Sau đó, bạn chỉ gọi nó như:

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
6

Đã trả lời ngày 13 tháng 12 năm 2010 lúc 11:34Dec 13, 2010 at 11:34

Tình cờIncidently

4.1193 Huy hiệu vàng23 Huy hiệu bạc 30 Huy hiệu Đồng3 gold badges23 silver badges30 bronze badges

4

Nhập chuyển đổi sang số nguyên:

a = new Date(1995,11,17);
b = new Date(1995,11,17);
+a === +b;  //true

Đã trả lời ngày 30 tháng 12 năm 2011 lúc 21:44Dec 30, 2011 at 21:44

d2vidd2vidd2vid

1.8731 Huy hiệu vàng19 Huy hiệu bạc24 Huy hiệu đồng1 gold badge19 silver badges24 bronze badges

1

Hellnar,

Bạn có thể thử (ân xá tên hàm :) - Sửa đổi trên mỗi giá trị của Felix, thay vì thời gian nhận được)

function isEqual(startDate, endDate) {
    return endDate.valueOf() == startDate.valueOf();
}

usage:

if(isEqual(date1, date2)){
   // do something
}

có thể giúp bạn một phần của cách đó.

Xem thêm:

'http://www.java2s.com/Tutorial/JavaScript/0240__Date/DatevalueOf.htm'

Đã trả lời ngày 13 tháng 12 năm 2010 lúc 11:27Dec 13, 2010 at 11:27

Jim Tollanjim Tollanjim tollan

22.2K4 Huy hiệu vàng47 Huy hiệu bạc63 Huy hiệu Đồng4 gold badges47 silver badges63 bronze badges

Một thay thế dòng đơn đơn giản để xác định xem hai ngày có bằng nhau hay không, bỏ qua phần thời gian:

function isSameDate(a, b) {
    return Math.abs(a - b) < (1000 * 3600 * 24) && a.getDay() === b.getDay();
}

Nó xác định nếu ngày A và B khác nhau không quá một ngày và chia sẻ cùng một ngày trong tuần.

function isSameDate(a, b) {
    return Math.abs(a - b) < (1000 * 3600 * 24) && a.getDay() === b.getDay();
}

console.log(isSameDate(new Date(2017, 7, 21), new Date(2017, 7, 21))); //exact same date => true
console.log(isSameDate(new Date(2017, 7, 21, 23, 59, 59), new Date(2017, 7, 21))); //furthest same dates => true
console.log(isSameDate(new Date(2017, 7, 20, 23, 59, 59), new Date(2017, 7, 21))); //nearest different dates => false
console.log(isSameDate(new Date(2016, 7, 21), new Date(2017, 7, 21))); //different year => false
console.log(isSameDate(new Date(2017, 8, 21), new Date(2017, 7, 21))); //different month => false

Đã trả lời ngày 21 tháng 8 năm 2017 lúc 9:40Aug 21, 2017 at 9:40

Hướng dẫn how to check two dates are equal in javascript - cách kiểm tra hai ngày bằng nhau trong javascript

Philip Bijkerphilip BijkerPhilip Bijker

4.8052 Huy hiệu vàng40 Huy hiệu bạc44 Huy hiệu đồng2 gold badges40 silver badges44 bronze badges

Trừ chúng và so sánh với 0:

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

// Làm điều gì đó với ngày ...

(date1 - date2) ? alert("not equal") : alert("equal");

Để đặt nó vào một biến:

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
0

Đã trả lời ngày 13 tháng 12 năm 2010 lúc 11:29Dec 13, 2010 at 11:29

Felix Klingfelix KlingEge Özcan

775K172 Huy hiệu vàng1073 Huy hiệu bạc1119 Huy hiệu đồng2 gold badges29 silver badges51 bronze badges

0

Nếu bạn chỉ quan tâm đến việc kiểm tra xem ngày có xảy ra trong cùng một ngày bất kể thời gian thì bạn có thể sử dụng phương pháp

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
5 để so sánh. Phương thức này chỉ trả về ngày không có thời gian:moment.js and isSame method

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
1

Đã trả lời ngày 1 tháng 8 năm 2015 lúc 18:33Mar 6, 2018 at 9:57

que1326que1326que1326

Cyberwombatcyberwombat4 gold badges37 silver badges57 bronze badges

358K33 Huy hiệu vàng168 Huy hiệu bạc238 Huy hiệu đồng

var start = new Date('2015-01-28T10:00:00Z');
var end = new Date('2015-01-28T18:00:00Z');

if (start.toDateString() === end.toDateString()) {
  // Same day - maybe different times
} else {
  // Different day
}
2

Tôi đã sử dụng mã này:Aug 19, 2021 at 22:32

Hướng dẫn how to check two dates are equal in javascript - cách kiểm tra hai ngày bằng nhau trong javascript

Bạn có thể so sánh hai ngày 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 các 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ể trực tiếp so sánh chúng.we can compare two dates by converting them into numeric values to correspond to their time. First, we can convert the Date into a numeric value by using the getTime() function. By converting the given dates into numeric values we can directly compare them.

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

Để so sánh hai ngày, chúng tôi đã sử dụng phương thức so sánh ().Nếu cả hai ngày bằng nhau, nó in, cả hai ngày đều bằng nhau ...
0: Nếu cả hai ngày bằng nhau ..
Giá trị nhỏ hơn 0: Nếu ngày trước ngày đối số ..
Giá trị lớn hơn 0: Nếu ngày sau ngày đối số ..

Chúng ta có thể so sánh ngày trong chuỗi không?

Giải thích: Ở đây chúng tôi đang sử dụng đối tượng DateTimeFormatter để phân tích các ngày đã cho từ loại chuỗi sang loại LocalDate.Sau đó, chúng tôi đang sử dụng các hàm isequal (), isAfter () và isbefore () để so sánh các ngày đã cho.Chúng ta cũng có thể sử dụng hàm so sánh () của lớp LocalDate để so sánh các ngày.using isEqual(), isAfter() and isBefore() functions to compare the given dates. We can also use the compareTo() function of the LocalDate class to compare the Dates.