如何在PHP中检查失败的日期时间?
当以下内容获取错误数据时,PHP将中止如何在PHP中检查失败的日期时间?,php,datetime,error-handling,Php,Datetime,Error Handling,当以下内容获取错误数据时,PHP将中止 PHP Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (980671) at position 4 (7): Unexpected character' 如果数据不好,我如何捕获它以采取其他操作,从而使PHP问题不会失败 $date = new DateTime($TRANSAC
PHP Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (980671) at position 4 (7): Unexpected character'
如果数据不好,我如何捕获它以采取其他操作,从而使PHP问题不会失败
$date = new DateTime($TRANSACTION_DATE_MMDDYY_raw);
使用
try
和catch
try {
$date = new DateTime($date);
} catch(Exception $e) {
echo "Invalid date... {$e->getMessage()}";
}
正如
@robw
已经说过的,你必须抓住那个异常
但可能导致这种异常的是不适当的日期时间格式
要解决此问题,您可以改为:
try {
$dt = DateTime::createFromFormat("MMDDYY", $TRANSACTION_DATE_MMDDYY_raw) ;
} catch(Exception $e){
echo "Something went wrong: {$e->getMessage()} " ;
}
更多信息:
DateTime::createFromFormat
不会引发异常。它返回布尔值false
!