MySQL将日期存储在我的数据库中(默认情况下)为’YYYY-MM-DD’我日期的字段类型为’DATE'(我不需要任何时间存储)..是否有一种简单的方法可以默认更改它到DD / MM / YYYY?
我在两个不同的表中调用不同的日期,并且在我的任何代码中没有任何地方我有类似日期变量或任何东西的任何东西!希望这是一个直接的改变?
解决方法:
在PHP中,您可以:
>使用strtotime
将日期转换为时间戳
>使用date格式化它
有点像这样,我会说:
$timestamp = strtotime($date_from_db);
echo date('d/m/Y', $timestamp);
但这只适用于1970年到2038年之间的日期,因为timestamps存储为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类,特别是:
> DateTime::__construct
解析数据库返回的日期
> DateTime::format
将日期格式化为您想要的任何格式.
例如,这部分代码:
$date = new DateTime('2010-03-19');
echo $date->format('d/m/Y');
会得到你的输出:
19/03/2010