11

我有一个 MySQL 数据库表,其中日期以 YYYYMMDD 格式存储。例如:20121226。

我想以 DD/MM/YYYY 格式显示这个日期。例如:26/12/2012

我想出的是用来substr分别提取日、月和年。我想知道是否有更简单的方法可以做到这一点。

此外,有没有办法将此日期转换为“2012 年 12 月 26 日”格式而无需编写单独的代码?

4

3 回答 3

22

您可以轻松地使用 DateTime 类来执行此操作

$retrieved = '20121226';
$date = DateTime::createFromFormat('Ymd', $retrieved);
echo $date->format('d/m/Y');

http://php.net/manual/en/datetime.format.php

于 2012-12-26T19:09:55.833 回答
3

在您的 SQL 语句中,您可以设置不同的日期格式。

SELECT DATE_FORMAT(date_column, '%d/%m/%Y') AS my_date FROM my_table
于 2012-12-26T19:13:00.690 回答
2

这是解决方案:

SELECT DATE_FORMAT('20121226', '%d/%m/%Y');

=>

DATE_FORMAT('20121226', '%d/%m/%Y')
26/12/2012

或者

SELECT DATE_FORMAT('20121226', '%W %M %Y');

=>

DATE_FORMAT('20121226', '%W %M %Y')
Wednesday December 2012

检查更多格式: http ://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

于 2012-12-26T19:12:36.767 回答