Управление датой и часами в форме - PullRequest
0 голосов
/ 26 сентября 2018

У меня три небольших вопроса об управлении датами и временем в форме.В частности, у меня есть такая форма:

Date: <br><input type="date" name="data"  ><br>
Start: <br><input type="time" name="start" min="09:30:00" max="16:30:00" ><br>
End: <br><input type="time" name="end" min="10:00:00" max="18:30:00"><br>

И я не знаю, как реализовать 3 вещи.

1) В поле даты не должно быть возможности выбирать дниперед текущим.

2) в поле времени должно быть возможно выбрать только 30-минутные интервалы (9:30 - 10:00 - 10:30 ...)

3) Хотелось бы, чтобы при бронировании через эту форму поле времени увеличивалось на 1 час.Так что, если кто-то записывает в качестве времени окончания 10 утра, БД будет отмечена 11. Это возможно?Используется в моем файле input.php (связан с формой)

$start_time = $_POST['start'];
$end_time = $_POST['end'];

Спасибо за то время, которое вы посвятили мне:)

1 Ответ

0 голосов
/ 27 сентября 2018

Первые два вопроса - это адреса в комментариях. Чтобы ответить на третий вопрос, вы можете использовать DateTime и DateInterval , чтобы легко манипулировать датами и временем.

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

<?php
date_default_timezone_set('America/New_York');

$endTime = '10:00';

$dateTime = DateTime::createFromFormat('H:i', $endTime);
$dateInterval = DateInterval::createFromDateString('1 hour');

$dateTime->add($dateInterval);

$newTime = $dateTime->format('H:i');

echo $newTime.PHP_EOL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...