將數字(0-23)轉換為 AM/PM 時間格式的 PHP 程式碼
P粉009828788
P粉009828788 2023-12-24 19:03:07
0
4
464

我有一個範圍從 0 到 23 的數字數組,每個數字代表從午夜到晚上 11 點的時間。它按鍵的值降序排列。

22 => int 8
3 => int 7
5 => int 6

等等。例如,如果陣列的第一個元素的鍵是 22,我希望變數 $first 為「10PM」。

當然,我可以寫:

if(key($array)=='22'){
    $first = '10PM';
}

但我必須為每個鍵執行 23 次...有更簡單的方法嗎?

P粉009828788
P粉009828788

全部回覆(4)
P粉353282123

剛才複製錯了

<?php
// 原始数组
$array = [
    22 => 8,
    3 => 7,
    5 => 6
];
// 转换后的时间数组
$times = [];
foreach ($array as $key => $value) {
    // 将键值(小时)转换为12小时制的时间格式
    $hour = $key % 12;
    if ($hour == 0) {
        $hour = 12;
    }
    $times[$key] = $hour . ($key >= 12 ? 'PM' : 'AM');
}
// 输出转换后的时间数组
foreach ($times as $timeKey => $time) {
    echo "键值" . $timeKey . "对应的输出为:" . $time . "\n";
}
?>

P粉600402085
$array = array(
    22 => 8,
    3  => 7,
    5 => 6    
);

$i = 1;
foreach ($array $key=>$val)
{
    ${'time_' . $i} = date("HA", strtotime($key . ":00:00"));
    $i++;
}

//Now check echo $time_1;
P粉353282123

我理解的

<?php
// 原始数组
$array = [
    22 => 8,
    3 => 7,
    5 => 6
];
// 转换后的时间数组
$times = [];
foreach ($array as $key => $value) {
    // 将键值(小时)转换为24小时制的时间格式
    $hour = $key % 12;
    if ($hour == 0) {
        $hour = 12;
    }
    $times[$key] = $hour . 'PM';
}
// 输出转换后的时间数组
foreach ($times as $timeKey => $time) {
    echo "键值" . $timeKey . "对应的输出为:" . $time . "\n";
}
?>

P粉276064178

這是程式碼

$hrs = 15;
echo date("h a", strtotime("00-00-00 $hrs:00:00"));
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!