将日期时间从mysql转换为可读字符串



我有一个从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"

相关内容

  • 没有找到相关文章

最新更新