我想要显示当前时间与未来时间之间剩余的时间(以小时为单位):分钟:秒(将日期转换为小时)。日期时间差+将日期转换为小时
# Current time.
$current_datetime=new DateTime();
# Time in future.
$future_time=new DateTime('2015-09-30 05:59:38');
# Get difference.
$interval=$current_datetime->diff($future_time);
# Format time (this does not convert days to hours).
//$duration=$interval->format('%H:%I:%S');
后,我认为我可以这样做:
$duration=sprintf('%02d:%02d:%02d', $interval->days * 24 + $interval->H, $interval->i, $interval->s);
但是,这不正常。它显示00:27:27
。分钟和秒是正确的,但它显示00小时。
你能告诉你预期的输出是什么吗? –
您是否在第二种方法中尝试了$ interval-> h而不是$ interval-> H?属性名称在PHP中区分大小写。 – pamelus
小时检查($ interval-> days * 24)+($ interval-> H)。只是一个建议 –