繁体   English   中英

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

[英]in PHP, how to format date gathered from database?

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

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

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

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

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

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

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

你可以尝试这样的事情:

$date_string = 2012-05-14;
$formatted_date = date('F jS, Y', strtotime($date_string));
echo $formatted_date;
<?php echo date('F jS, Y', strtotime('2012-06-14')); ?>

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

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

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

您还可以使用createFromFormat:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM