我的数据库中有三种数据类型。日期时间、时间戳和时间。我使用日期函数获得时间,并尝试将其插入数据库的所有三列下,但所有三列都拒绝日期函数的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
解决方法是使用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
值,格式为12小时制,带有AM/PM。
SELECT DATE_FORMAT(mytimecol,'%h:%i:%s %p') AS mytimestr FROM ...
引用:
STR_TO_DATE
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date
DATE_FORMAT
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
将列数据类型更改为Varchar(20)insert $time = date('h:i:s A');到数据库。
Get from DB:-
同时从数据库中获取该列日期(h:我:年代,strtotime (fetched_datetime_from_db)美元)。
享受! !