php检查有效的日期和时间

时间:2014-09-24 16:56:31

标签: php date

我想创建一个函数,以检查$date是否为有效的日期和时间

function validateDate($date){
    $format = 'Y-m-d h:i A';// Eg : 2014-09-24 10:19 PM
    ....
}

我想检查$ date是否有效,并且它采用给定的格式:

  • 如果陈述是真的{
     函数应使用strtotime()或任何其他函数返回日期的相应时间(),<}

  • 否则{
     return false
    }

您可以建议我使用regex。但我认为它在febapriljunesepnov等情况下有限制。

我找到了一个代码来检查日期是否有效。

function validateDate($date){
    $d = DateTime::createFromFormat('Y-m-d', $date);
    return $d && $d->format('Y-m-d') == $date;
}

函数已从此answerphp.net

复制

但我不理解这是逻辑。

1 个答案:

答案 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;
}