PHP DateTime格式无法正常工作


PHP DateTime format not working properly

我使用这个代码:

$today_date = new DateTime('now');
$final_date = new DateTime('2012-03-22 09:00');
$interval = $today_date->diff($final_date);
$time_left = $interval->format('%d:%H:%i:%s');

我希望$time_left具有dd:hh:mm:ss格式(d->天,h->小时,m->分钟,s->秒)。

但当我使用%d:%H:%i:%s作为格式时,它有时会显示单个数字,即每分钟没有0填充。例如:11:14:7:45。预期结果:11:14:07:45

有什么错误吗?

更多注释:不要将DateIntervalformatDateTimeformat混淆:i是Minutes,数字,例如1、3、59。如果您遇到问题或使用了不熟悉的函数,请先参阅手册。

Per-DateInterval,%i是"分钟,数字:1,3,59"。尝试使用前导零的%I