我正在使用
将当前时间和日期放在MySQL中$datecreated = date("Y-m-d, g:i:s A");
然后用
向用户显示$datecreated = date('n-j-Y, g:i:s A', strtotime($row['datecreated']));
一切都很好,除了时间总是AM。我已经在上午和下午对此进行了测试,但仍然是AM。
答案 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");