PHP DateInterval格式分钟和秒,前导零

时间:2015-09-24 13:36:44

标签: php datetime dateinterval

尝试从秒开始生成简单的“H:i:s”字符串,但不能

示例:

$iSecond = 188;
$dtF = new DateTime("@0");
$dtT = new DateTime("@$iSecond");
$size = $dtF->diff($dtT)->format('%H:%i:%s');
echo $size;

应显示“00:03:08”,但事实上“00:3:8”

如果格式化方法中还有其他日期格式选项吗?

有小提琴https://3v4l.org/Coi7q

2 个答案:

答案 0 :(得分:8)

使用大写IS进行格式设置:

$size = $dtF->diff($dtT)->format('%H:%I:%S');

请参阅the manual for all of the formatting options

Demo

答案 1 :(得分:3)

John是对的,但你的代码似乎没必要,这应该是相同的:

$iSecond = 188;
$dtT = new DateTime("@$iSecond");
$size = $dtT->format('H:i:s');

没有理由在此代码中创建@ 0的日期时间并使用diff / DateInterval。