将日期格式(在DB或输出中)更改为dd/mm/yyyy - PHP MySQL

Jes*_*ess 14 php mysql sql date

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

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

Pas*_*TIN 22

在PHP中,您可以:

有点像这样,我会说:

$timestamp = strtotime($date_from_db);
echo date('d/m/Y', $timestamp);
Run Code Online (Sandbox Code Playgroud)

但是这只适用于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)
Run Code Online (Sandbox Code Playgroud)


并且,为了完整性,PHP中的另一个解决方案是不受1970-2038的限制,将使用DateTime该类,特别是:

例如,这部分代码:

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

会得到你的输出:

19/03/2010
Run Code Online (Sandbox Code Playgroud)