如何将时间 (01:10:00) 转换为 Laravel 中的 1h 10m 短代码

How to convert a time (01:10:00) to 1h 10m short code in Laravel

我必须将时间 01:10:00 转换为 1h 10m,如果小时或分钟为零,我还必须排除。

例如:

01:10:00 --> 1h 10m

01:00:00 ---> 1h

00:10:00 ---> 10m

我试过这样:

date('g', strtotime('01:10:00')).'h'.' '.date('i', strtotime('01:10:00')).'m'

但是有没有其他简单的方法可以做到这一点。使用 Carbon::parse()->Something() 类似的东西

请帮助我如何实现这个

可以混合使用 Carbon 的 createFromTimeStringdiffForHumans

use Carbon\CarbonInterface;
use Illuminate\Support\Carbon;

$result = Carbon::createFromTimeString('01:10:00')
    ->diffForHumans(Carbon::today(), CarbonInterface::DIFF_ABSOLUTE, true, 3);
use Carbon\CarbonInterface;
use Carbon\CarbonInterval;

echo CarbonInterval::createFromFormat('H:i:s', '01:10:00')
    ->forHumans(CarbonInterface::DIFF_ABSOLUTE, true, 3);