我有一个打印出的功能:
echo $post->EE_Event->primary_datetime()->start_date_and_time();
结果:
21-02-15 08:00
但我希望将其显示为:
08:00 21st February, 2015
我需要一个函数帮助来获取现有的打印日期并重新格式化。
我在线尝试了一些片段,但没有任何效果。
答案 0 :(得分:6)
试试这段代码:
$yourDate = '21-02-15 08:00'; // $post->EE_Event->primary_datetime()->start_date_and_time()
$date = DateTime::createFromFormat('j-m-y G:i', $yourDate);
echo $date->format('G:i dS F, Y');
在线试用: http://ideone.com/a7EEK4
在PHP> = 5.3中,我们拥有出色的日期API。 在这里查看更多: http://php.net/manual/en/datetime.createfromformat.php
答案 1 :(得分:1)
PHP的DateTime
类正是您所需要的。您想使用createFromFormat
对其进行解析,然后使用format
将其打印出来。
$myDate = $post->EE_Event->primary_datetime()->start_date_and_time();
$myDateObj = DateTime::createFromFormat('d-m-y G:i', $myDate);
echo $myDateObj->format('G:i jS F, Y');
答案 2 :(得分:0)
echo date("G:i dS F, Y", strtotime($post->EE_Event->primary_datetime()->start_date_and_time()));