如何将时间格式化为12:00:00或12:00:am到12:00 am


How to format time 12:00:00 or 12:00:am to 12:00 AM?

我使用strtotime()$time = '12:00:00';但

$time = '12:00:am'; 
echo date('h:i A ', strtotime($time));

它返回4:00 PM,但我希望输出是12:00 AM

这个函数可以帮助你。它需要像你的格式"12:00:00或12:00:am"的时间,并输出它作为你的需要,像这样的"12:00 am"。

function convert_time($the_time){
    $time_arr = explode(":",$the_time);
    if($time_arr[2] != "am" || $time_arr[2] != "pm"){
        if($time_arr[0] >= "0" && $time_arr[0] <= 12){
            if($time_arr[0] == 12 && $time_arr[1] > 00){
                $time_arr[2] = "pm";
            } else {
                $time_arr[2] = "am";
            }
        } else {
            $time_arr[2] = "pm";
        }
        $new_time = $time_arr[0].":".$time_arr[1]." ".strtoupper($time_arr[2]);
        return $new_time;
    }
    $new_time = $time_arr[0].":".$time_arr[1]." ".strtoupper($time_arr[2]);
    return $new_time;
}
$time = '12:00:am'; 
echo convert_time($time);