MySql 数据库从日期时间、时间戳、时间 PHP、SQL 中排除 A.M、P.M
MySql database excludes A.M, P.M, from datetime, timestamp, time, PHP, SQL
我的数据库中有三种数据类型。日期时间、时间戳和时间。我使用日期函数获取时间,并尝试将其插入到所有三列下的数据库中,但所有三列都拒绝了日期函数的 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 ...
参考文献:
将列数据类型更改为 Varchar(20)
并插入 $time = date('h:i:s A');进入数据库。
从数据库中获取:-
从数据库中获取此列时,您可以使用
日期('h:i:s A',strtotime($fetched_datetime_from_db)).
尽情享受!!
我的数据库中有三种数据类型。日期时间、时间戳和时间。我使用日期函数获取时间,并尝试将其插入到所有三列下的数据库中,但所有三列都拒绝了日期函数的 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 ...
参考文献:
将列数据类型更改为 Varchar(20) 并插入 $time = date('h:i:s A');进入数据库。
从数据库中获取:-
从数据库中获取此列时,您可以使用 日期('h:i:s A',strtotime($fetched_datetime_from_db)).
尽情享受!!