如何将时间 (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 的 createFromTimeString
和 diffForHumans
。
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);
我必须将时间 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 的 createFromTimeString
和 diffForHumans
。
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);