如何检查一个失败的日期时间在PHP?(How to check for a failed DateT

2019-10-30 09:46发布

当以下得到坏数据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($TRANSACTION_DATE_MMDDYY_raw);

Answer 1:

使用trycatch

try {
  $date = new DateTime($date);
} catch(Exception $e) {
  echo "Invalid date... {$e->getMessage()}";
}


Answer 2:

作为@Rob W已经说过,你必须捕获该异常。

但是,可能会导致该异常是inaproppriate日期时间格式。

为了解决这个问题,你可以这样做,而不是:

try {
  $dt = DateTime::createFromFormat("MMDDYY", $TRANSACTION_DATE_MMDDYY_raw) ;
} catch(Exception $e){
  echo "Something went wrong: {$e->getMessage()} " ;
}

更多关于它: http://www.php.net/manual/en/datetime.createfromformat.php



文章来源: How to check for a failed DateTime in PHP?