我使用这个代码:
$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
有什么错误吗?
更多注释:不要将DateInterval
的format
与DateTime
的format
混淆:i
是Minutes,数字,例如1、3、59。如果您遇到问题或使用了不熟悉的函数,请先参阅手册。
Per-DateInterval,%i
是"分钟,数字:1,3,59"。尝试使用前导零的%I
。