Ответ 1
Используйте метод getTime()
. Он будет проверять числовое значение даты, и он будет работать как для проверки больше, чем для проверки, так и для проверок равных.
EDIT:
if (d1.getTime() == d2.getTime())
Мне нужно выяснить, совпадают ли две даты, выбранные пользователем, в Javascript. Даты передаются этой функции в String ( "xx/xx/xxxx" ). Это все необходимое для детализации.
Вот мой код:
var valid = true;
var d1 = new Date($('#datein').val());
var d2 = new Date($('#dateout').val());
alert(d1+"\n"+d2);
if(d1 > d2) {
alert("Your check out date must be after your check in date.");
valid = false;
} else if(d1 == d2) {
alert("You cannot check out on the same day you check in.");
valid = false;
}
Сообщение javascript после преобразования дат в объекты выглядит следующим образом:
Вт Янв 25 2011 00:00:00 GMT-0800 (Стандартное тихоокеанское время)
Вт Янв 25 2011 00:00:00 GMT-0800 (Стандартное тихоокеанское время)
Тест, чтобы определить, работает ли дата 1 больше даты 2. Но использование операторов == или === не изменяется на false.
Используйте метод getTime()
. Он будет проверять числовое значение даты, и он будет работать как для проверки больше, чем для проверки, так и для проверок равных.
EDIT:
if (d1.getTime() == d2.getTime())
Если вы не хотите вызывать getTime()
, просто попробуйте следующее:
(a >= b && a <= b)
var d1 = new Date($('#datein').val());
var d2 = new Date($('#dateout').val());
используйте два простых способа проверки равенства
if( d1.toString() === d2.toString())
if( +d1 === +d2)