Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一串时间,例如:6:00 AM、7:30 PM 等。它也可以轻松更改为 6:00:00 AM、7:30:00 PM 等。
我正在寻找一种方法来快速将此时间转换为 24 小时格式,例如 7:30 PM = 19:30:00。
是否有任何具有此功能的 PHP 或 MySQL 函数,还是我必须自己设计?
STR_TO_DATE( `column_here`, '%l:%i %p' )
在这里阅读更多。
编辑'%l:%M %p'为'%l:%i %p'
'%l:%M %p'
'%l:%i %p'
尝试strtotime,它检索任何英文日期/时间格式的 Unix 时间戳。如果它不能开箱即用,则可以在您传递的时间字符串前面添加任意日期。然后您可以使用strftime将时间戳转换为 24 小时格式。
我也听说过一个DateTime对象,它也可以处理这两种转换。
DateTime
那样做
SELECT STR_TO_DATE('08:35 PM', '%l:%i %p');
回答:'20:35:00'
试试下面的查询,
SELECT STR_TO_DATE( '2019-06-19 10:00 pm', '%Y-%m-%d %h:%i %p' );
我们必须使用日期来获得 24 小时内的正确时间。您可以在时间之前添加任何静态日期,上述解决方案对我有用:)