我的数据库中有三种数据类型。日期时间,时间戳和时间。我得到时间使用日期函数并尝试将其插入到所有三列的数据库中,但所有三列都拒绝了日期函数的A.M,P.M部分。我不明白为什么。我还需要插入日期函数的A.M,P.M部分,因此我可以按时间更有效地对数据库中的数据进行排序。是否有另一列可以存储日期的A.M,P.M部分,或者是否有解决方法?谢谢。
$time = date('h:i:s A');
//insert $time into all three columns into the database
答案 0 :(得分:4)
解决方法是将hours
值用作24小时制。要表示 '3:45:56 PM
' ,请在数据库列中插入字符串值 '15:45:56'
。
否则,您可以使用 STR_TO_DATE
功能将字符串转换为有效的TIME
值。
INSERT INTO mytable (mycol) VALUES (STR_TO_DATE('3:45:56 PM','%h:%i:%s %p'))
从数据库列中检索TIME
值,格式为带有AM / PM的12小时时钟。
SELECT DATE_FORMAT(mytimecol,'%h:%i:%s %p') AS mytimestr FROM ...
参考文献:
答案 1 :(得分:0)
将列数据类型更改为Varchar(20) 并插入$ time = date(' h:i:s A');进入数据库。
从DB获取:
从数据库中获取此列时,可以使用日期(' h:i:s A',strtotime($ fetched_datetime_from_db))。
享受!!