PHP时间现在不显示PM,只有AM

时间:2011-05-23 20:31:27

标签: php time

我正在使用

将当前时间和日期放在MySQL中
$datecreated = date("Y-m-d, g:i:s A");

然后用

向用户显示
$datecreated = date('n-j-Y, g:i:s A', strtotime($row['datecreated']));

一切都很好,除了时间总是AM。我已经在上午和下午对此进行了测试,但仍然是AM。

6 个答案:

答案 0 :(得分:3)

写入数据库时​​使用date("Y-m-d H:i:s")(24小时表示法) 否则,“PM”(或“AM”)部分会被截断,让您始终处于“AM”状态。

答案 1 :(得分:2)

您应该使用DATETIME字段,以24小时格式存储日期和时间。

您可以使用MySQL NOW函数存储当前时间:

INSERT INTO mytable
(mydatefield)
VALUES
(NOW())

如果您需要在PHP中执行此操作,则可以执行以下操作:

$datecreated = date('Y-m-d H:i:s');

这将以24小时时间格式存储。然后,您可以在选择或使用MySQL date函数后使用PHP DATE_FORMAT函数将其格式化为12小时。

答案 2 :(得分:0)

我认为这个问题是由于您的日期格式选择了12小时。将小写字母g更改为“G”(无前导零)或“H”(前导零),因为它们都是24小时格式(0-23),而“g”是12小时格式(0-12) )。

答案 3 :(得分:0)

为什么不使用日期(“Y-m-d,G:i:s”)?

答案 4 :(得分:0)

您也可以只更改服务器的时钟,而不是等到下午进行测试。

答案 5 :(得分:0)

您应该尝试使用24小时日期时间格式插入MySQL。 MySQL可能会忽略日期字符串中的AM / PM,因此所有内容都保存为AM。

$datecreated = date("Y-m-d H:i:s");