Я хочу показать, сколько времени осталось между текущим временем и будущим временем в часах: минуты: секунды (преобразует дни в часы).DateTime разница + Преобразование дней в часы
# 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). Просто предложение –