PHP:在中重新格式化日期

PHP:在中重新格式化日期,php,date,datetime,Php,Date,Datetime,你好 我从imap_fetch_overview PHP函数中获得以下日期: $overview = imap_fetch_overview($inbox, $email_number, 0); ... $date_event = $overview[0]->date; 这会输出一个类似“2017年6月30日星期五16:27:44+0000(UTC)”的日期 同时,我已将默认时区设置为: date_default_timezone_set('Europe/Brussels'); 我

你好

我从imap_fetch_overview PHP函数中获得以下日期:

$overview = imap_fetch_overview($inbox, $email_number, 0);

...

$date_event = $overview[0]->date;
这会输出一个类似“2017年6月30日星期五16:27:44+0000(UTC)”的日期

同时,我已将默认时区设置为:

date_default_timezone_set('Europe/Brussels');
我现在希望能够以dd.mm.yyyy HH:mm:ss(本地时间,在我的例子中是30.06.2017 18:27:44)的格式检索我的$date_事件

因此,我尝试:

$date_event_formated = $date_event('dd.mm.YYYY HH:ii:ss');
调用“echo$date\u event\u formatted;”时,我唯一得到的是一个致命的错误

很抱歉,如果这个问题听起来很傻,但我真的不明白我做错了什么?在打扰你之前,我看了参考网站,但我可能错过了一些东西

非常感谢您的时间和帮助。

strotime()
能够处理您的格式并将其转换为时间戳。然后,您可以使用
date()
函数将日期格式化为您想要的任何格式:

$date_event = 'Fri, 30 Jun 2017 16:27:44 +0000 (UTC)';
echo date('d.m.Y H:i:s',strtotime($date_event));
//outputs: 30.06.2017 18:27:44
下面是一个工作示例:

strotime()
能够处理您拥有的格式并将其转换为时间戳。然后,您可以使用
date()
函数将日期格式化为您想要的任何格式:

$date_event = 'Fri, 30 Jun 2017 16:27:44 +0000 (UTC)';
echo date('d.m.Y H:i:s',strtotime($date_event));
//outputs: 30.06.2017 18:27:44
下面是一个工作示例:


虽然Jakub的答案没有错,但也可以使用PHP5.3和更高版本,使用精确的掩码解析传入的日期字符串

$oldDate = 'Fri, 30 Jun 2017 16:27:44 +0000 (UTC)';
$date = DateTime::createFromFormat('D, d M Y H:i:s T e', $oldDate);
echo $date->format('Y-m-d');

虽然Jakub的答案没有错,但也可以使用PHP5.3和更高版本,使用精确的掩码解析传入的日期字符串

$oldDate = 'Fri, 30 Jun 2017 16:27:44 +0000 (UTC)';
$date = DateTime::createFromFormat('D, d M Y H:i:s T e', $oldDate);
echo $date->format('Y-m-d');

可能的副本可能的副本谢谢Vishal非常感谢Vishal