1

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

2013-09-07 13:20:35

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

07-09-2013 1:20:35 AM

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

提前致谢

4

2 回答 2

4

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

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

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

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

一般来说,您应该避免字符串转换,除非它们确实是必要的(例如,为了显示给用户)。它们通常是细微错误的来源,尤其是在国际化方面(日期格式可能因文化而异)。有关更多详细信息,请参阅我关于数据含义的博客文章。

于 2013-09-07T08:08:56.810 回答
4

试试这个代码

echo date('d-m-Y H:i:s', strtotime($yourVariable));
于 2013-09-14T12:19:55.763 回答