这里有很多日期帖子,但我没有看到有人帮助我。
我的mySQL字段的格式为yyyymmdd(例如:20110423)。
我需要在页面上正确显示,例如:04/23/2011
我该怎么做呢?我将数据精确地拉到页面20110423,但是在显示它时不知道如何重新格式化它。非常感谢任何帮助!
尼克
答案 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()
。