检查PHP日期时间戳是否正确?

Tro*_*aze 3 php mysql datetime

有没有办法检查PHP中的日期时间戳是否正确?

我目前yyyy-mm-dd hh:mm:ss在MySQL中使用,并希望确保用户在表单中提供与正确格式匹配的日期/时间戳.

seb*_*sse 6

[直到有人带来好(无bug),工作checkdate()示例]我正在使用此功能:

<?php 
function validateMysqlDate( $date ){ 
    if (preg_match("/^(\d{4})-(\d{2})-(\d{2}) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/", $date, $matches)) { 
        if (checkdate($matches[2], $matches[3], $matches[1])) { 
            return true; 
        } 
    } 
    return false; 
} 

// check it: 
  $a = validateMysqlDate('2012-12-09 09:04:00');
  $b = validateMysqlDate('20122-12-09 09:04:00');
  $c = validateMysqlDate('2012-12_09 09:04:00');
  $d = validateMysqlDate('');
  var_dump( $a );
  var_dump( $b );
  var_dump( $c );
  var_dump( $d ); 
?>
Run Code Online (Sandbox Code Playgroud)

和btw:checkdate()将为$ b返回true,尽管它不是有效的mysql日期时间