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

问题描述

我必须将时间 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,3);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...