PHP - 如何正确显示时间?

PHP - How can I display time correctly?

我正在使用 PHP 查询 AS400 DB2 数据库。时间(ADACTM)保存在table之类的;

我需要将其转换为人类可读的格式,例如 9:46:23。

我目前正在 PHP;

$adactm = str_split($fin2['ADACTM']);
$adactm = "$adactm[0]$adactm[1]:$adactm[2]$adactm[3]:$adactm[4]$adactm[5]";

问题是,当时间没有 2 位小时时,PHP 认为数组位置 0 实际上是位置 1。所以时间显示为;

94:62:3

如果有人有办法解决这个问题,将不胜感激。谢谢!

抱歉,没有比这更好的主意了:

$adactm = str_split($fin2['ADACTM']);

if (count($adactm) == 5) {
    $adactm = "$adactm[0]:$adactm[1]$adactm[2]:$adactm[3]$adactm[4]";
} else {
    $adactm = "$adactm[0]$adactm[1]:$adactm[2]$adactm[3]:$adactm[4]$adactm[5]";
}

Pad 拆分前的字符串:

$rawtime = '94623';
$padded = str_pad($rawtime, 6, '0', STR_PAD_LEFT); // 094623

然后split/mangle和以前一样