我想把以秒为单位的时间间隔转换成天小时分钟.我试过这个.

$value = '90060';
CarbonInterval::seconds($value)->forHumans();

I got the output

90060 seconds

My expected output is

1 day 1 hour 1 minute

How can I get the output using Carbon or CarbonInterval

推荐答案

I got a solution.

$value = '90060';
$dt = Carbon::now();
$days = $dt->diffInDays($dt->copy()->addSeconds($value));
$hours = $dt->diffInHours($dt->copy()->addSeconds($value)->subDays($days));
$minutes = $dt->diffInMinutes($dt->copy()->addSeconds($value)->subDays($days)->subHours($hours));
echo CarbonInterval::days($days)->hours($hours)->minutes($minutes)->forHumans();

Updated Solution

CarbonInterval::seconds(90060)->cascade()->forHumans();

Laravel相关问答推荐

当未通过验证的字段是值数组时,Laravel$validator->;validator()方法不会引发异常

如何使用 laravel 更新单个值

Laravel 获取具有多对多关系的中间表数据

如何获取多态多对多关系子查询的自动 id 列名?

assertSee 由于 html 代码中的空格而失败

使用Laravel Blade Formatter和PHP Intelephense进行 VSCode 格式化

为什么 laravel 模型会重复一组数据以及如何(如果可能)只有一组数据?

Laravel 错误ReflectionException-类 App\Http\Kernel 不存在

即使上传了文件,Laravel Input::hasFile('image') 也会返回 false

Laravel 4:验证前修剪输入的最佳实践

在 laravel 5.2 中禁用特定路由的 Web 中间件

Laravel 使用 Storage::put 生成唯一 ID

使用数据库用户提供程序时如何在 Laravel 中创建密码重置方法

调用未定义的函数 mb_strimwidth

中间件中的 Laravel 依赖注入

用于集合的 Laravel 5.5 API 资源

将 Laravel 集合附加到另一个集合

将 Laravel 集合排序为 ID 数组

Laravel 邮件密件抄送

遍历 Laravel 控制器中的结果集