我有一个从mysql表中获得的日期时间,我想将其显示为字符串。它看起来像下面,我希望它看起来像2016年7月14日下午5:00。
2016-07-14 17:00:00
我尝试了如下格式,但没有成功。我该怎么得到我想要的?
date_format($date, 'g:ia on l jS F Y');
您只需要使用类似strtotime()
的东西将$date
转换为Timestamp,然后将其作为第二个参数传递给PHP的date()
函数。第一个参数将是Date的Format
。下面的说明…
<?php
$date = "2016-07-14 17:00:00";
$date = date('g:ia on l jS F Y', strtotime($date));
var_dump($date);
// PRODUCES: '5:00pm on Thursday 14th July 2016' (length=33);
您可以使用PHP的date_format
,但它需要一个日期对象而不是字符串。
date_format(DateTimeInterface$对象,字符串$格式)
下面是一个使用程序样式的示例:
$date_string="2016-07-14 17:00:00";
$date_object=date_create($date_string);
echo date_format($date_object, 'g:ia on l jS F Y');
下面是一个使用面向对象样式的示例:
$date_string="2016-07-14 17:00:00";
$date_object=new Datetime($date_string);
echo $date_object->format('g:ia on l jS F Y');
输出:
2016年7月14日星期四下午5:00
使用DateTime
<?php
$datetime = "2016-07-14 17:00:00";
$dt = new DateTime($datetime);
echo $dt->format('F jS Y at g:ia');
?>
输出:2016年7月14日下午5:00
$date=date_create("2016-07-14 17:00:00");
echo date_format($date,'jS F Y at g:ia');
输出:14th July 2016 at 5:00pm
简单:
$mysqlDate = "2016-07-14 17:00:00";
$formatted = date('F dS Y at H:iA', strtotime($mysqlDate));
将显示:2016年7月14日下午5:00
编辑:我忘记添加"at"