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.
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
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:
'//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
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 methodvar 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
}
2Tôi đã sử dụng mã này:Aug 19, 2021 at 22:32