php - Как проверить, что строка «21 марта 2015» является действительной датой? - PullRequest
0 голосов
/ 05 мая 2018

У меня есть переменная, которая содержит дату в виде строки, как 21 марта 2015 года, поэтому мне нужно проверить, является ли она действительной в php. Я пытаюсь проверить, используя

$date = 'July 20 2018'; echo date('d/m/Y', strtotime($date));

Но он показывает ошибку, а также пытался

if (DateTime::createFromFormat('Y-m-d G:i:s', $myString) !== FALSE) { //valid date }

Ошибка получения 2-й параметр должен быть строкой. Пожалуйста, кто-нибудь может мне помочь!

1 Ответ

0 голосов
/ 05 мая 2018

strtotime будет анализировать строку даты в число: пожалуйста, обратитесь к это.

поэтому возвращаемое значение из strtotime нельзя передать в createfromFromat в качестве второго параметра.

Вы можете использовать следующий код для проверки даты

$date = DateTime::createFromFormat('July 25 2010', 'F j Y');
return $date && ($date->format('F j Y') === 'July 25 2010');
...