用sprintf填充左边的时间?

时间:2009-07-24 11:13:48

标签: php printf

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

sprintf("%02d:2d:2d", $time);

如果MP3长度为1分56秒,那么返回时间的函数会获得“1:56”,并且该调用将带回“01:56:00”(而需要返回00:01) :56)。我怎样才能做到这一点?如何告诉sprintf在左边填充?

或者有更好的方法可以解决这个问题吗?一个更合适的功能可能吗?

由于

3 个答案:

答案 0 :(得分:4)

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

sprintf("%02d:%02d:%02d", floor($time/3600), floor($time/60)%60, $time%60);

答案 1 :(得分:2)

您可以使用date-function

如果$ time是unix时间戳格式,那么这样的事情应该有效:

print(date("H:i:s", $time));

答案 2 :(得分:1)

你应该使用strftime($format,$timestamp) ......可能就是这样:

strftime("%H:%M:%S",$time)

格尔茨

back2dos