jdc*_*arg 5 php diff date php-carbon laravel-5
我正在使用Carbon计算两个日期之间的时间。我希望能够取两个日期之间的时差,并以十进制格式确定时间,以便能够计算小时费率。根据我的测试,-> diffInHours()调用给了我两个数字之间的小时数。
例如
$actual_start_at = Carbon::parse('2017-05-01 13:00:00');
$actual_end_at = Carbon::parse('2017-05-01 15:15:00');
return $actual_end_at->diffInHours($actual_start_at, true);
Run Code Online (Sandbox Code Playgroud)
退货
2
Run Code Online (Sandbox Code Playgroud)
我想要一些可以返回的东西 2 hours 15 minutes
2.25
Run Code Online (Sandbox Code Playgroud)
Moz*_*mil 12
不幸的是,diffInHours
只取两个参数。也许,您可以尝试一下diffInMinutes
,然后从那里获得所需的价值?
例如
$actual_start_at = Carbon::parse('2017-05-01 13:00:00');
$actual_end_at = Carbon::parse('2017-05-01 15:15:00');
$mins = $actual_end_at->diffInMinutes($actual_start_at, true);
dd($mins/60);
Run Code Online (Sandbox Code Playgroud)
会输出
2.25
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用该diff()
方法,它将返回一个DateInterval
对象。
$mins = $actual_end_at->diff($actual_start_at, true);
Run Code Online (Sandbox Code Playgroud)
然后dd($mins)
会输出:
DateInterval {#913 ?
+"y": 0
+"m": 0
+"d": 0
+"h": 2
+"i": 15
+"s": 0
+"f": 0.0
+"weekday": 0
+"weekday_behavior": 0
+"first_last_day_of": 0
+"invert": 0
+"days": 0
+"special_type": 0
+"special_amount": 0
+"have_weekday_relative": 0
+"have_special_relative": 0
}
Run Code Online (Sandbox Code Playgroud)