5

我有一串时间,例如:6:00 AM、7:30 PM 等。它也可以轻松更改为 6:00:00 AM、7:30:00 PM 等。

我正在寻找一种方法来快速将此时间转换为 24 小时格式,例如 7:30 PM = 19:30:00。

是否有任何具有此功能的 PHP 或 MySQL 函数,还是我必须自己设计?

4

4 回答 4

13
STR_TO_DATE( `column_here`, '%l:%i %p' )

在这里阅读更多。

编辑

编辑'%l:%M %p''%l:%i %p'

于 2012-09-12T23:55:46.677 回答
1

尝试strtotime,它检索任何英文日期/时间格式的 Unix 时间戳。如果它不能开箱即用,则可以在您传递的时间字符串前面添加任意日期。然后您可以使用strftime将时间戳转换为 24 小时格式。

我也听说过一个DateTime对象,它也可以处理这两种转换。

于 2012-09-13T00:01:50.480 回答
0

那样做

SELECT STR_TO_DATE('08:35 PM', '%l:%i %p');

回答:'20:35:00'

于 2016-11-30T05:40:21.003 回答
0

试试下面的查询,

SELECT STR_TO_DATE( '2019-06-19 10:00 pm', '%Y-%m-%d %h:%i %p' );

我们必须使用日期来获得 24 小时内的正确时间。您可以在时间之前添加任何静态日期,上述解决方案对我有用:)

于 2019-08-22T07:00:28.173 回答