如何在php中更改日期时间格式的日期格式

时间:2013-09-07 08:06:47

标签: php

我有mysql数据库,因为我有一个datetime数据类型的字段 其中日期存储为

2013-09-07 13:20:35

现在我想在这样的网页上显示这个日期和时间

07-09-2013 1:20:35 AM

是否有任何php函数/方法来实现这一点。

提前致谢

2 个答案:

答案 0 :(得分:4)

我当然希望这些日期值实际上并不是以文本格式存储,而不是数字。这有点像要求数据库将数字存储为十六进制而不是十进制。

当您呈现数据时,您应该将数据中的固有值与应用于它们的文本格式分开。通常我建议在客户端端格式化数据(通常具有更多用户上下文),但您也可以在SELECT语句中指定格式:

SELECT DATE_FORMAT(StartDate, '%d-%m-%y') FROM SomeTable

同样,在插入或更新数据时,我会尝试使用参数化SQL,这样就不会将日期指定为 text - 通常客户端库应该能够将数据传递给本机二进制格式的数据库。

通常,您应该避免字符串转换,除非它们实际上是必需的(例如,用于向用户显示)。它们往往是微妙错误的根源,特别是在国际化方面(日期格式可能因文化而异)。有关详细信息,请参阅my blog post on data meaning

答案 1 :(得分:4)

试试这段代码

echo date('d-m-Y H:i:s', strtotime($yourVariable));