Проверка даты на текущую дату с помощью jquery

#javascript #jquery #date

#javascript #jquery #Дата

Вопрос:

Я проверяю, чтобы проверить мою переданную дату с текущей датой .. но во всех случаях она возвращает false. Вот мой код

 function validateDate(date) {
       var curdate= new Date();
       curdate.setHours(0,0,0,0);
       if(new Date(date) > curdate) { 
             console.log(" greater"); 
       } else { console.log(" lesser"); };

}
  

Я передаю дату как 24-10-2016

Что не так с кодом, и я не должен использовать средство выбора даты..

Комментарии:

1. Вы должны попытаться console.log(curdate) и убедиться, что формат соответствует вашим ожиданиям

Ответ №1:

Формат, который вы передаете, не является стандартным форматом даты ISO. Используется формат ISO, YYYY-MM-DD поэтому вам нужно передать строку даты как 2016-10-24

 var dateString = '2016-10-28'; //28th Oct 2016

validateDate(dateString);

function validateDate(date) {
       var curdate= new Date();
       curdate.setHours(0,0,0,0);
       if(new Date(date) > curdate) { 
             console.log(" greater"); 
       } else { console.log(" lesser"); };

}  

Комментарии:

1. Как преобразовать из 23-10-2016 в 2016-10-23 .. пожалуйста, дайте мне знать .. и я опубликую это с помощью мобильного устройства. Поэтому мне сложно скопировать свой код.

2. вы можете использовать как '23-10-2016'.split('-').reverse().join('-')

Ответ №2:

Это потому, что вы неправильно отправляете параметр date

для новой даты (’24-10-2016′) это будет недопустимая дата, потому что она должна содержать year-month-date

измените способ отправки новой даты (‘2016-10-24’)

Надеюсь, это поможет

Ответ №3:

 <html>
<body>

<p id="demo"></p>

<script>
var firstdate = '2012-11-21';
var seconddate = '2012-11-21';
if( (new Date(firstdate).getTime() > new Date(seconddate).getTime()))
{
 document.getElementById("demo").innerHTML = "firstdate is greater";
}
else if( (new Date(firstdate).getTime() < new Date(seconddate).getTime()))
{
 document.getElementById("demo").innerHTML = "first date is not greater";
}
else if( (new Date(firstdate).getTime() == new Date(seconddate).getTime()))
{
 document.getElementById("demo").innerHTML = "first date is equal";
}
else
{
 document.getElementById("demo").innerHTML = "date format is not correct";
}
</script>

</body>
</html>