用 sprintf 在左边填充时间?

Del*_*eko 2 php printf

我正在尝试使用 PHP 中的 sprintf() 填充时间(MP3 的播放时间)。

sprintf("%02d:2d:2d", $time);
Run Code Online (Sandbox Code Playgroud)

例如,如果 MP3 的长度为 1 分 56 秒,则返回时间的函数会得到“1:56”,并且该调用会返回“01:56:00”(而它需要是 00:01:56) . 我怎样才能使这项工作?如何告诉 sprintf 在左侧填充?

或者有没有更好的方法来解决这个问题?也许更合适的功能?

谢谢

Pau*_*xon 6

我认为您需要分别计算每个元素,那么如何:

sprintf("%02d:%02d:%02d", floor($time/3600), floor($time/60)%60, $time%60);
Run Code Online (Sandbox Code Playgroud)