我想创建一个函数,以检查$date
是否为有效的日期和时间
function validateDate($date){
$format = 'Y-m-d h:i A';// Eg : 2014-09-24 10:19 PM
....
}
我想检查$ date是否有效,并且它采用给定的格式:
如果陈述是真的{
函数应使用strtotime()或任何其他函数返回日期的相应时间(),<}
否则{
return false
}
您可以建议我使用regex
。但我认为它在feb
,april
,june
,sep
,nov
等情况下有限制。
我找到了一个代码来检查日期是否有效。
function validateDate($date){
$d = DateTime::createFromFormat('Y-m-d', $date);
return $d && $d->format('Y-m-d') == $date;
}
复制
但我不理解这是逻辑。
答案 0 :(得分:2)
function validateDate($date) {
$format = 'Y-m-d h:i A'; // Eg : 2014-09-24 10:19 PM
$dateTime = DateTime::createFromFormat($format, $date);
if ($dateTime instanceof DateTime && $dateTime->format('Y-m-d h:i A') == $date) {
return $dateTime->getTimestamp();
}
return false;
}