一尘不染

将日期格式(以数据库或输出形式)更改为dd / mm / yyyy-PHP MySQL

mysql

MySQL将日期存储在数据库中(默认情况下)为“ YYYY-MM-DD”。日期的字段类型为“
DATE”(我不需要任何时间存储)。是否有一种简单的方法可以默认更改日期到DD / MM / YYYY吗?

我在2个不同的表中调用了不同的日期,并且在我的任何代码中都没有类似日期变量的内容或任何东西!希望这是一个直接的改变?


阅读 622

收藏
2020-05-17

共1个答案

一尘不染

在PHP中,您可以:

  • 使用以下命令将日期转换为时间戳 strtotime
  • 使用日期格式化

有点像这样,我会说:

$timestamp = strtotime($date_from_db);
echo date('d/m/Y', $timestamp);

但这仅适用于1970年至2038年之间的日期,因为时间戳存储为32位整数,从1970-01-01开始计数。

在MySQL中,我想date_format函数可以解决问题。
例如 :

mysql> select date_format(curdate(), '%d/%m/%Y');
+------------------------------------+
| date_format(curdate(), '%d/%m/%Y') |
+------------------------------------+
| 19/03/2010                         |
+------------------------------------+
1 row in set (0.03 sec)

而且,为了完善起见,PHP中的另一种不受1970-2038年限制的解决方案是使用DateTime该类,尤其是:

例如,这部分代码:

$date = new DateTime('2010-03-19');
echo $date->format('d/m/Y');

会给你这个输出:

19/03/2010
2020-05-17