简体   繁体   English

将格式为HH:MM AM / PM的时间转换为HH:MM:SS

[英]Convert time with format HH:MM AM/PM to HH:MM:SS

I am use PHP and MySQL. 我正在使用PHP和MySQL。 How can I convert time with format HH:MM AM/PM to HH:MM:SS to save time to MySQL? 如何将HH:MM AM / PM格式的时间转换为HH:MM:SS以节省时间到MySQL?

Use strtotime to convert it to a timestamp and then format that using the date function. 使用strtotime将其转换为时间戳,然后使用date函数对其进行格式化。

Example below assumes $time has been set to the time you need to format. 下面的示例假定$time已设置为您需要格式化的时间。

$time = date( "H:i:s", strtotime( $time ) );

The way I would do it is: 我会这样做的方式是:

<?php
    $date = "6:23 AM";
    $timeType = explode(" ", $date);
    $timeItems = explode(":", $timeType[0]);
    if($timeType[1] == "PM"){
        $timeItems[0] += 12;
    }
    $time = implode(":", $timeItems);
    $time .= ":00";
    var_dump($time);
?>

使用date_format()解决您的问题:

DATE_FORMAT(date,'%H:%i:%s')

Easy. 简单。 In MySQL use DATE_FORMAT like this: 在MySQL中,使用DATE_FORMAT如下所示:

SELECT DATE_FORMAT(NOW(), '%H:%i:%s');

And using your example you could couple this with STR_TO_DATE like this: 并使用您的示例,可以将其与STR_TO_DATE如下所示:

SELECT DATE_FORMAT(STR_TO_DATE('09:41 AM', '%h:%i %p'), '%H:%i:%s');

Then in your MySQL query you could substitute the 09:41 AM with a variable based on your MySQL table. 然后,在您的MySQL查询中,您可以使用基于MySQL表的变量替换09:41 AM

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM