将数字(0-23)转换为 AM/PM 时间格式的 PHP 代码
P粉009828788
P粉009828788 2023-12-24 19:03:07
0
4
467

我有一个范围从 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

雷雷

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学习者快速成长!