У меня есть следующий запрос для отображения в формате datetime
объект
echo $interval->format("%hh %im %ss");
который вернет время как что-то вроде 0h 5m 12s
или же 3h 15m 2s
Есть ли способ элегантно вернуть datetime, чтобы не было нулей впереди? То есть вместо 0h 0m 3s
было бы просто отобразить 3s
Я нашел решение от одного из моих прошлые вопросы который использует rtrim
, sprintf
и сравнения для $interval
,
$interval = $future_date->diff($now);
$time_until = rtrim(sprintf("%s%s%s",
$interval->h > 0 ? $interval->h . "h " : "",
$interval->i > 0 ? $interval->i . "m " : "",
$interval->s > 0 ? $interval->s . "s " : "")
);
Если время > 0
, тогда он напечатает время. В противном случае он просто останется пустым
Других решений пока нет …