我有mysql数据库,因为我有一个datetime数据类型的字段 其中日期存储为
2013-09-07 13:20:35
现在我想在这样的网页上显示这个日期和时间
07-09-2013 1:20:35 AM
是否有任何php函数/方法来实现这一点。
提前致谢
答案 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));