我需要通过GET请求传递DATETIME值,并验证收到的日期是否格式正确且有效。我想在发送端我会使用UNIX_TIMESTAMP转换DATETIME值,以便在接收端轻松验证,然后通过FROM_UNIXTIME将其转换回DATETIME。
否则,似乎在接收端我需要使用正则表达式来验证DATETIME格式,然后使用checkdate()检查日期是否有效。这似乎是一个常见的问题,所以我想知道是否有办法做到这一点,不涉及这种转换。
答案 0 :(得分:2)
DateTime
类构造函数接受有效的日期时间字符串。如果它传递了无效的日期时间,则会抛出异常。获得DateTime对象后,可以使用DateTime::format
$date = 'bad date string'
try {
$obj = new DateTime($date);
echo 'valid date: '. $obj->format('Y-m-d');
} catch (Exception $e) {
echo 'invalid date';
}