我不断收到以下错误:
DateTime::__construct(): Failed to parse time string (46-61-9481) at position 0 (4): Unexpected character
与 API 中的这段脚本相关
$dob = new DateTime(str_replace('/','-',Input::post('date_of_birth')));
$customer->date_of_birth = $dob->getTimestamp();
我对代码的了解非常有限,但是,我想知道是否有人愿意让我知道要更改哪些内容以避免这些错误。
最佳答案
这里的问题是 DateTime() 的使用。 PHP DateTime() 需要一个有效的日期,否则将引发异常。如果您仍然想接受无效的日期输入,最好将其放入 try catch block 中。如果日期是有效的,它将正常工作,否则它将被捕获。在 catch block 中,您可以设置默认日期(例如 00/00/0000)并保存到数据库。
try {
$date = new DateTime('01-01-2016');
$date = $date->format('m/d/Y');
} catch (\Exception $e) {
$date = '00/00/0000';
}
echo $date;
关于PHP: DateTime::__construct() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35958559/