Я пытаюсь принять отдельные значения даты/времени из представления формы и проанализировать их на дату определенного формата.Проверка даты и времени в PHP
Если проверка не выполнена по какой-либо причине (например, 30 февраля, 13-го месяца и т. Д.), То результат должен по умолчанию соответствовать текущему времени.
if (isset($_POST['year'], $_POST['month'], $_POST['day'], $_POST['hour'], $_POST['minute']))
{
$y = $_POST['year'];
$m = $_POST['month'];
$d = $_POST['day'];
$h = $_POST['hour'];
$i = $_POST['minute'];
if (checkdate($m, $d, $y))
{
if ($h >= 0 && $h <= 23)
{
if ($i >= 0 && $i <= 59)
{
$str = $y.'-'.$m.'-'.$d.' '.$h.':'.$i.':00';
$time = strtotime($str);
}
else $time = time();
}
else $time = time();
}
else $time = time();
}
else $time = time();
$datetime = date('D j M Y - H:i:s T', $time);
echo $datetime;
происходят две вещи, которые я не понимаю:
Если значения один или более дата отсутствует, появляется ошибка о checkdate() ... Я не могу понять, почему валидация не просто сбой при первом, если()
Если одно или несколько значений времени отсутствуют, конечным результатом является UNIX Epoch ?!