将datetime从mysql转换为人类可读的字符串

时间:2016-07-25 20:18:45

标签: php mysql datetime

我有一个从mysql表中获取的日期时间,我想将其显示为字符串。它看起来如下所示,我希望它看起来像2016年7月14日下午5:00。

2016-07-14 17:00:00

我尝试了如下格式,但它没有用。我如何得到它我想要的?

    date_format($date, 'g:ia \o\n l jS F Y');

5 个答案:

答案 0 :(得分:5)

您只需使用类似$date之类的内容将strtotime()转换为时间戳,然后将其作为PHP date()函数的第二个参数传递。第一个论点是日期的Format。下面说明了......

<?php
    $date   = "2016-07-14 17:00:00";
    $date   =  date('g:ia \o\n l jS F Y', strtotime($date));

    var_dump($date);
    // PRODUCES: '5:00pm on Thursday 14th July 2016'  (length=33);

答案 1 :(得分:2)

您可以使用PHP的date_format,但它需要date object而不是字符串。

  

date_format(DateTimeInterface $ object,string $ format)

以下是使用程序样式的示例:

$date_string="2016-07-14 17:00:00";
$date_object=date_create($date_string);
echo date_format($date_object, 'g:ia \o\n l jS F Y');

以下是使用面向对象样式的示例:

$date_string="2016-07-14 17:00:00";
$date_object=new Datetime($date_string);
echo $date_object->format('g:ia \o\n l jS F Y');

输出:

  2016年7月14日星期四下午5点

答案 2 :(得分:1)

$date=date_create("2016-07-14 17:00:00");
echo date_format($date,'jS F Y \a\t g:ia');

输出: 14th July 2016 at 5:00pm

答案 3 :(得分:1)

使用DateTime

:target()
  

输出:2016年7月14日下午5:00

答案 4 :(得分:1)

简单:

$mysqlDate = "2016-07-14 17:00:00";
$formatted = date('F dS Y \a\t H:iA', strtotime($mysqlDate));

将显示:2016年7月14日下午5:00

编辑:我忘记添加“at”