Ответ 1
Вы посмотрели datejs? (используя соответствующий пакет глобализации для правильного анализа dd/mm/yyyy)
Просто передайте дату в свой метод parse()
и сравните с сегодняшней датой.
У меня есть ввод формы с идентификатором 'date_trans'. Формат для ввода этой даты (который является проверкой на стороне сервера) может быть любым из:
Однако перед отправкой формы я хотел бы проверить, имеет ли поле date_trans дату, равную сегодняшней дате. Хорошо, если указанная дата - это дата клиента (т.е. Использует js), так как я запускаю двойную проверку на сервере.
Я полностью потерял, как выполнить сопоставление даты в jQuery или просто старый javascript. Если это помогает, я использую jquery datepicker
Вы посмотрели datejs? (используя соответствующий пакет глобализации для правильного анализа dd/mm/yyyy)
Просто передайте дату в свой метод parse()
и сравните с сегодняшней датой.
Простое сравнение дат в чистом JS должно быть достаточным:
// Create date from input value
var inputDate = new Date("11/21/2011");
// Get today date
var todaysDate = new Date();
// call setHours to take the time out of the comparison
if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)) {
// Date equals today date
}
Здесь рабочий JSFiddle.
для полноты, взятой из этого решения:
Вы можете использовать toDateString:
var today = new Date();
var isToday = (today.toDateString() == otherDate.toDateString());
нет зависимостей в библиотеке и выглядит более понятным, чем метод setHours(), показанный в предыдущем ответе, imho
Попробуйте использовать moment.js
moment('dd/mm/yyyy').isSame(Date.now(), 'day');
Вы можете заменить строку "день" на "год, месяц, минута", если хотите.
function sameDay( d1, d2 ){
return d1.getUTCFullYear() == d2.getUTCFullYear() &&
d1.getUTCMonth() == d2.getUTCMonth() &&
d1.getUTCDate() == d2.getUTCDate();
}
if (sameDay( new Date(userString), new Date)){
// ...
}
Использование методов UTC * гарантирует, что два эквивалентных дня в разных часовых поясах, совпадающих с одним и тем же глобальным днем, будут одинаковыми. (Не обязательно, если вы разбираете обе даты напрямую, но хорошо подумать.)
Просто используйте следующий код в javaScript:
if(new Date(hireDate).getTime() > new Date().getTime())
{
//Date greater than today date
}
Измените условие в соответствии с вашим требованием. Вот одна ссылка для сравнения сравнить в java script
Date.js - удобная библиотека для управления датами форматирования. Это может помочь в этой ситуации.
В следующем решении сравнивается целочисленное число времени, деленное на значения часов, минут, секунд, миллисов.
var reducedToDay = function(date){return ~~(date.getTime()/(1000*60*60*24));};
return reducedToDay(date1) == reducedToDay(date2)
Тильда преобразует результат деления (см. эту статью о целых делениях)
TodayDate = new Date();
if (TodayDate > AnotherDate) {} else{}
< = также работает, хотя с =, возможно, оно должно совпадать с миллисекундами.