I've been searching all over the internet to find a good way of converting seconds into minutes:seconds without leading zeros. I already checked out this question,这是我什至只能找到的唯一一个,但是这些答案看起来都不是很好。也许它们是实现这一目标的唯一,最好的方法,但是我希望不会。

我已经做到了,它使我得到的分钟数没有前导零,但是我无法获得秒数。我能想到的唯一方法就是做几行这样的数学运算,但是对于像这样简单的事情而言,这似乎需要大量的工作……我不知道为什么PHP不这样做无论如何,几分钟和几秒钟都没有内置它。

intval(gmdate("i:s", $duration));

编辑
我要做的就是将视频中的秒数转换为H:M:S格式。

最佳答案

implode(
    ':',
    array_map(
        function($i) { return intval($i, 10); },
        explode(':', gmdate('H:i:s', $duration))
    )
)


preg_replace(
    '~^0:~',
    '',
    implode(
        ':',
        array_map(
            function($i) { return intval($i, 10); },
            explode(':', gmdate('H:i:s', $duration))
        )
    )
)

10-08 18:40