如何在Laravel中将秒转换成天时分

nou*_*cep 6 php laravel php-carbon

我想将以秒为单位的时间间隔转换为几天小时数分钟。我已经试过了。

$value = '90060';
CarbonInterval::seconds($value)->forHumans();
Run Code Online (Sandbox Code Playgroud)

我得到了输出

90060 seconds
Run Code Online (Sandbox Code Playgroud)

我的预期输出是

1 day 1 hour 1 minute
Run Code Online (Sandbox Code Playgroud)

如何使用Carbon或获取输出CarbonInterval

nou*_*cep 26

我得到了解决方案。

$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();
Run Code Online (Sandbox Code Playgroud)

更新的解决方案

CarbonInterval::seconds(90060)->cascade()->forHumans();
Run Code Online (Sandbox Code Playgroud)

  • 一行:`CarbonInterval::seconds(90060)->cascade();` (14认同)
  • @godbout - 几乎正是我所追求的!我使用 `CarbonInterval::seconds(90060)->cascade()->forHumans();` 来获得漂亮的格式 (3认同)