PHP 将日期时间格式化为没有零

PHP Format Datetime to Not Have Zeros

我有以下查询来显示格式化的 datetime 对象

echo $interval->format("%hh %im %ss");

这将 return 时间类似于 0h 5m 12s3h 15m 2s

有没有办法优雅地 return 日期时间前面没有 0? IE。而不是 0h 0m 3s,它只会显示 3s

我从我的 中找到了一个解决方案,该解决方案使用 rtrimsprintf$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,那么它会打印时间。否则,它将留空