Hello和PHP开发人员,
是否有来自MySQL的预定义函数来转换时间字符串< 11:23 p.m。'到' 23:23'。
我试过select DATE_FORMAT('2015-05-22 06:45:23', '%H:%i %p')
给了我这个结果:
06:45 AM
但在我的情况下,我在我的时间字段中有字符11:23 p.m.
,它是varchar类型的。
无论如何在MySQL中将11:23 p.m.
转换为23:23
?
答案 0 :(得分:2)
问题是p.m
您需要在使用任何转化之前替换.
。这是一种方式
mysql> select date_format(str_to_date(replace('11:23 p.m','.',''),'%h:%i %p'),'%H:%i') as time ;
+-------+
| time |
+-------+
| 23:23 |
+-------+
1 row in set (0.00 sec)