我一直在尝试使用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');