Возможно, было бы лучше использовать strtotime()
для проверки отправленной даты / времени, особенно если это поле ввода даты произвольной формы. В противном случае кто-то может пропустить ввод даты / времени и неожиданно использовать вместо нее текущую дату / время.
$radate_valid = false;
$radate = $_POST['date'];
if (!$radate)
$radate = date('Y-m-d H:i:s');
if (strtotime($radate) === false)
$radate_valid = false;
else
$radate_valid = true;
// Somewhere else
if ($radate_valid !== true)
/* Do something to warn the user. */
http://codepad.org/x2eZay0Q
Если вы использовали выпадающие списки, а время не имело значения, вы также можете использовать checkdate()
, хотя из вашего примера похоже, что вам действительно нужно время.
Однако то, что вы опубликовали, должно работать. Вот пример использования вашей даты:
http://codepad.org/BK1yqyMT
(А вот без фиксации блока if
: http://codepad.org/p3CfmOJK)