Проверьте, если дата в формате «Y-m-d» и не в будущем? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть форма для захвата поля ввода сообщения, которое будет в формате даты, мне нужно проверить, имеет ли это поле сообщения формат Y-m-d и дата не в какой-либо будущей дате.

$dob = $_POST['dob']; 
// 1995-11-03 => Correct format
// 1995-30-12 => Incorrect format
// 2018-09-23 => Incorrect future date

1 Ответ

0 голосов
/ 08 мая 2018
list($year, $month, $day) = explode('-', $_POST['dob']);
$timestamp = mktime(0, 0, 0, $month, $day, $year);

// Check if the date is valid, and that it's in the past
$isValid = checkdate($month, $day, $year) && $timestamp <= time();

Руководство: http://php.net/manual/en/function.checkdate.php и http://php.net/manual/en/function.mktime.php

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