有没有其他人有这个奇怪的问题?错误信息:
致命错误:消息'DateTime :: __ construct()的未捕获异常'异常':无法解析位置17(A)的时间字符串(01/18/2016 00:00 AM America/New_York):找不到时区在数据库中'
例外:DateTime :: __ construct():无法解析位置17(A)的时间字符串(01/18/2016 00:00 AM America/New_York):在数据库中找不到时区
原始PHP代码:
$datetime = new DateTime(trim(html_entity_decode($this->input->post('publish_date').' '.$_POST['schedule_time'].' '.$_POST['schedule_meridian'] . ' ' .$_POST['schedule_timezone'])));
$date = $datetime->format('D, d M Y H:i:s O');
Run Code Online (Sandbox Code Playgroud)
fel*_*ins 11
我担心你已经创建了这样的DateTime对象:
$date = new DateTime('01/18/2016 00:00 AM America/New_York');
Run Code Online (Sandbox Code Playgroud)
这不是受支持 /有效的日期时间格式!
如果要从另一种格式创建DateTime对象,则必须调用DateTime :: createFromFormat(),看看:
$timezone = new DateTimeZone('America/New_York');
$strdate = '01/18/2016 00:00 AM';
$date = DateTime::createFromFormat('m/d/Y H:i A', $strdate, $timezone);
Run Code Online (Sandbox Code Playgroud)
PHP文档说明:
DateTime :: createFromFormat/date_create_from_format - 返回根据指定格式格式化的新 DateTime对象