У меня есть переменная, которая содержит дату в виде строки, как 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-й параметр должен быть строкой. Пожалуйста, кто-нибудь может мне помочь!
strtotime будет разбирать строку даты на число:
пожалуйста, обратитесь к этот.
поэтому возвращаемое значение из strtotime не может быть передано в createfromFromat в качестве второго параметра.
Вы можете использовать следующий код, чтобы проверить дату
$date = DateTime::createFromFormat('July 25 2010', 'F j Y');
return $date && ($date->format('F j Y') === 'July 25 2010');
Других решений пока нет …