php-如何检查;2015年3月21日“;字符串是否为有效日期?

php-如何检查;2015年3月21日“;字符串是否为有效日期?,php,datetime-format,date-parsing,Php,Datetime Format,Date Parsing,我有一个变量,它以字符串形式保存日期,比如2015年3月21日,所以我需要检查它在php中是否有效 $date='2018年7月20日'; 回显日期('d/m/Y',标准时间($date)) 但它显示出错误,并且也尝试过 if (DateTime::createFromFormat('Y-m-d G:i:s', $myString) !== FALSE) { //valid date } 获取错误第二个参数必须是字符串。请任何人都可以帮助我 strotime将日期字符串解析为一个数字: 请参阅

我有一个变量,它以字符串形式保存日期,比如2015年3月21日,所以我需要检查它在php中是否有效

$date='2018年7月20日';
回显日期('d/m/Y',标准时间($date))

但它显示出错误,并且也尝试过

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

获取错误第二个参数必须是字符串。请任何人都可以帮助我

strotime将日期字符串解析为一个数字: 请参阅

因此,strotime返回的值不能作为第二个参数传递给createFromat

您可以使用以下代码来验证日期

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

因此,
$myString
不是字符串。找到一个字符串值。另外,在调用
createFromFormat()
时,
'Y-m-d G:i:s'
与您的格式不匹配。如果此答案适合您,请将答案标记为“已接受”。