6

我正在寻找一种使用 AM/PM 表达式将军队时间(例如 23:00)转换为常规时间的方法。

4

3 回答 3

19

strtotime只需像这样在函数中打发时间:

$time_in_12_hour_format = date("g:i a", strtotime("23:00"));
echo $time_in_12_hour_format;
于 2013-06-10T22:55:34.540 回答
8

http://www.php.net/manual/en/function.date.php

$army_time_str = "23:00";
$regular_time_str = date( 'g:i A', strtotime( $army_time_str ) );
echo $regular_time_str;
于 2013-06-10T22:39:42.867 回答
3

输入 $time 的格式为“XXXX”(例如“0000”、“0001”、...、“2300”)。我找不到为此的功能,所以写了以下内容。想在这里发帖,以防其他人也在寻找同样的东西。

function convert_army_to_regular($time) {
    $hours = substr($time, 0, 2);
    $minutes = substr($time, 2, 2);

    if ($hours > 12) { 
        $hours = $hours - 12;
        $ampm = 'PM';
    } else {
        if ($hours != 11) {
            $hours = substr($hours, 1, 1);
        }
        $ampm = 'AM';
    }
    return $hours . ':' . $minutes . $ampm;
}
于 2013-06-10T22:31:55.747 回答