Php 用sprintf在左边填充时间?

Php 用sprintf在左边填充时间?,php,printf,Php,Printf,我正在尝试使用PHP中的sprintf()填充时间(MP3的播放时间) 例如,如果MP3的长度为1分56秒,则返回时间的函数将获得“1:56”,该调用将返回“01:56:00”(而它需要是00:01:56)。我怎样才能做到这一点?我怎样才能让sprintf在左边移动 还是有更好的办法?也许是一个更合适的函数 谢谢我认为您需要分别计算每个元素,那么: sprintf("%02d:%02d:%02d", floor($time/3600), floor($time/60)%60, $time%60)

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

例如,如果MP3的长度为1分56秒,则返回时间的函数将获得“1:56”,该调用将返回“01:56:00”(而它需要是00:01:56)。我怎样才能做到这一点?我怎样才能让sprintf在左边移动

还是有更好的办法?也许是一个更合适的函数


谢谢

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

sprintf("%02d:%02d:%02d", floor($time/3600), floor($time/60)%60, $time%60);
您可以使用

如果$time是unix时间戳格式,那么类似的方法应该可以工作:

print(date("H:i:s", $time));
你应该使用。。。大概是这样的:

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


back2dos

谢谢,我的结局有点不同,但你让我走上了正确的道路。
strftime("%H:%M:%S",$time)