更改日期以正确显示

时间:2011-04-13 00:09:19

标签: php mysql date

这里有很多日期帖子,但我没有看到有人帮助我。

我的mySQL字段的格式为yyyymmdd(例如:20110423)。

我需要在页面上正确显示,例如:04/23/2011

我该怎么做呢?我将数据精确地拉到页面20110423,但是在显示它时不知道如何重新格式化它。非常感谢任何帮助!

尼克

3 个答案:

答案 0 :(得分:3)

echo date('r',strtotime('20110423'));

..所以在你的情况下

echo date('m/d/Y',strtotime('20110423'));

答案 1 :(得分:2)

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

SELECT DATE_FORMAT(date_field,'%d/%m/%Y') as date_out ...

答案 2 :(得分:2)

$dt = \DateTime::createFromFormat('Ymd', '20110423');
echo $dt->format('m/d/Y');

我比strtotime()更喜欢这个的原因是 it 对于给定的日期格式可能很挑剔,而且你对如何解析字符串没有发言权。

例如,给定日期12/10/2011总是将其解析为“2011年12月10日”。将斜杠更改为连字符12-10-2011,它将变为“2011年10月12日”。

免责声明:仅限PHP 5.3+。由于5.2分支已停止开发,5.3已经存在近两年,我不认为这是一个问题。

编辑:如果您没有PHP 5.3并且数据库列不是日期类型,则可以在Dagon's answer上使用此扩展程序

SELECT DATE_FORMAT(STR_TO_DATE(date_field, '%Y%m%d'), '%d/%m/%Y') AS date_field ...

请参阅STR_TO_DATE()