Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 13
1

Как сравнить даты при вводе

19.03.2015, 14:26. Показов 2595. Ответов 2
Метки нет (Все метки)

Здравствуйте, на форуме именно такого вопроса не нашел про сравнение дат, потому и задаю.

А ситуация такая нужно сравнить две даты причем есть два input один с датой другой с временем куда пользователь должен занести информацию к примеру ( Первый input 2015-03-19 и второй 10:00) после того как он нажимает на кнопку должно произойти сравнение текущей даты с тем что написано и если дата меньше текущей то вывести сообщение что с предупреждением если с датой все в порядке то продолжить выполнение кода.

Сравнить только дату у меня получилось и все работает а вот когда начал вместе с временем сравнивать ничего не выходит.

Вот сам код:
Вывожу текущую дату с временем для сравнения
PHP
1
2
3
4
5
6
 
<?php
                         
                        $date_now = date("Y-m-d H:i"); 
                        $k = strtotime($date_now);
                        ?>
Дальше пишу форму для заполнения

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<form method="post" name="contact_form" method="post" action="#" onsubmit="return validate_form ( );">
 
<label for="date">Дата</label>
<input type="text" name="date"  id="date"  style="width: 20%; " />
      
<label for="time">Время</label>
<input type="text" name="time" id="time"  style="width: 20%;" />
 
<label for="timenow">Сейчас времени</label>    
<input type="text" name="timenow" id="timenow"  value = "<?php echo "$k"; ?>"  style="width: 20%; />
     
 <input class="btn" id="btn" type="submit" name="submit_1"  value="Отправить" />      
</form>
А вот дальше пишу скрипт

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript">
function validate_form() {
var b = document.getElementById('date').value;
var c = document.getElementById('time').value;
var d = (b+ " " +c);
var r = new Date(d);
var t = (r.getTime()/1000)
 
var datenow = document.getElementById('timenow').value;
var g = datenow
valid = true;
if (t < g) {
    alert("Не пытайся схитрить!")
    valid = false;}
    return valid;
}
</script>

И вот в общем то вся проблема если делать сравнение по этой схеме без часов и минут то все работает но мне нужно именно со временем(часами и минутами). Что же не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2015, 14:26
Ответы с готовыми решениями:

Проверка валидности даты при вводе
Нужно ввести дату, и чтобы программа проверяла правильная ли она, например чтобы когда вводишь 31...

Как сравнить даты?
У меня есть дата в формате dd.mm.YYYY, как мне сравнить эту дату с текущей?

Как в js сравнить две даты
Здравствуйте. Делаю валидацию и не знаю как сделать сравнение двух дат. У меня есть две переменные...

Не могу сравнить две даты
Простите за невежество. Я работаю из HTML с аксесовской базой. В базе есть поле типа DateTime/ Я...

__________________

Записывайтесь на профессиональные курсы Fullstack-разработчиков на JavaScript‌
Обучение в Java Mentor с оплатой после трудоустройства
2
супермизантроп
Эксперт JS
3862 / 2936 / 685
Регистрация: 18.04.2012
Сообщений: 8,540
19.03.2015, 14:42 2
у js-объекта Date () имеется свой синтаксис, которого нужно придерживаться

var newDateObj = new Date()
var newDateObj = new Date(dateVal)
var newDateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])


dateVal If a numeric value, dateVal represents the number of milliseconds in Universal Coordinated Time between the specified date and midnight January 1, 1970. If a string, dateVal is parsed according to the rules in the parse method. The dateVal argument can also be a VT_DATE value as returned from some ActiveX® objects.
year Required. The full year, for example, 1976 (and not 76).
month Required. The month as an integer between 0 and 11 (January to December).
date Required. The date as an integer between 1 and 31.
hours Optional. Must be supplied if minutes is supplied. An integer from 0 to 23 (midnight to 11pm) that specifies the hour.
minutes Optional. Must be supplied if seconds is supplied. An integer from 0 to 59 that specifies the minutes.
seconds Optional. Must be supplied if milliseconds is supplied. An integer from 0 to 59 that specifies the seconds.
ms Optional. An integer from 0 to 999 that specifies the milliseconds.
а вы формируете в строке #5 кода какую-то фигню с пробелом внутри
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 13
19.03.2015, 14:46  [ТС] 3
Можно закрывать тему всё хорошо работает извиняюсь за беспокойство
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2015, 14:46

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как при вводе неправильного e-mail вывести сообщение рядом с полем ввода?
Здравствуйте! Я в области web - программирования совсем новичок :( если кто сталкивался с подомным...

Как сохранить форму при вводе
Пытаюсь сделать сервис &quot;Вопрос - ответ&quot;. Человек вводит в форму вопрос и под ней получает ответ....

Как реализовать подсказки при вводе в input?
Добрый день Киберовцы! =) Идея такая: Нужно чтоб при вводе в поле, всплывали подсказки(ну это...

Как при вводе нового имени определить, есть ли уже такое имя в файле или нет?
как при вводе нового имени сравнить есть ли уже такое имя в файле или нет, типа регистрация ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.