#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>