在PHP中,如何格式化从数据库收集的日期?

时间:2012-06-18 21:17:39

标签: php date format

我一直在尝试使用date_format,但据我所知,它只需要时间戳,然后以您想要显示它的任何方式格式化日期。

我的问题如下,我的数据库中的日期采用以下格式:

 2012-05-14 // (Y-m-d)

我希望将它们显示为:June 14th, 2012或最接近的格式。

PHP中是否有内置日期进行此类转换? 谢谢!

6 个答案:

答案 0 :(得分:3)

在数据库中进行转换,因此每次都不要通过各种字符串/二进制格式进行多次往返:

SELECT DATE_FORMAT(yourdatefield, '%M %D, %Y')

相关文档:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

其他任何内容都需要以下转换序列:

mysql native -> mysql string -> php string -> php timestamp -> php string
v.s.
mysql native -> mysql string -> php string

答案 1 :(得分:1)

您可以尝试这样的事情:

$date_string = 2012-05-14;
$formatted_date = date('F jS, Y', strtotime($date_string));
echo $formatted_date;

答案 2 :(得分:0)

<?php echo date('F jS, Y', strtotime('2012-06-14')); ?>

答案 3 :(得分:0)

http://php.net/manual/en/function.date.php

echo date("F jS, Y", strtotime($mysql_row_date_goes_here));

答案 4 :(得分:0)

您可以使用strtotime()将日期转换为时间,然后使用date()。或者,您可以告诉数据库如何使用正确的SQL格式化日期。

答案 5 :(得分:0)

您还可以使用createFromFormat:

date = DateTime::createFromFormat('Y-m-d', $yourTimeString);
echo $date->format('F jS, Y');