Этот код, приведенный ниже, должен показывать окно предупреждения, если выбрана неправильная дата и/или время.Как проверить дату и время с помощью JavaScript
Проблема, с которой я столкнулся, если я выбрал 25/11/2015 и выберет 11:00. Это показывает «Пожалуйста, измените дату или время». Если я тогда выбираю 25/11/2015 и выбираю 21:00, это показывает «Это хорошо».
Функция игнорирует дату и просто проверяет время.
Он должен показать сообщение «Пожалуйста, измените дату или время», если пользователь выбирает время, которое уже ушло или дата, которая была до сегодняшнего дня.
Надеюсь, я смогу получить помощь в решении этой проблемы. Заранее спасибо.
function myFunction() {
var today = new Date();
var select_text = document.getElementById("datepicker-leave").value;
var select_date = new Date(select_text);
var select_time = document.getElementById("leavedrop").value;
var curr_time = today.getHours() + 1;
if ((select_date.getTime() <= today.getTime()) && select_time < curr_time) {
alert("Please change Date or Time")
} else {
alert("That's Fine")
}
}
<script>
$(function() { //datepickers
$("#datepicker-leave).datepicker({
dateFormat: 'd-M-yy'});
});
</script>
<input type="text" id="datepicker-leave">
<select id="leavedrop">
<option value="0">00:00</option>
<option value="1">01:00</option>
<option value="2">02:00</option>
<option value="3">03:00</option>
<option value="4">04:00</option>
<option value="5">05:00</option>
<option value="6">06:00</option>
<option value="7">07:00</option>
<option value="8">08:00</option>
<option value="9">09:00</option>
<option value="10">10:00</option>
<option value="11">11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="24">23:00</option>
</select>
<input type="button" value="Submit" onClick="myFunction()" />
Рассмотрите возможность использования moment.js для всех манипуляций и проверки даты. – Marko
Почему вы сравниваете даты .getTime()? Вы не устанавливаете время в select_date. Также указатель, для 23:00, значение равно 24. Кроме того, element.value возвращает строку. Не уверен, что что-то из этого вызывает проблему, но вы должны их проверить. – Rajesh