如何获得仅指两个日期之间的一个月的小时数?例如,如何在屏幕截图中获取12月份的第一行或第二行的小时数?
我试过这个(在循环中生成subMonths,所以不用担心):
$bookings = Booking::whereDate('departure_date', '>=', Carbon::now()->subMonths($i)->startOfMonth())
->orWhereDate('arrival_date', '<=', Carbon::now()->subMonths($i)->endOfMonth())->get();
然后:
foreach ($bookings as $book) {
echo Carbon::parse($book->departure_date.$book->departure_time)->diffInHours(Carbon::parse($book->arrival_date.$book->arrival_time));
}
但在这种情况下,我得到整个预订的小时数,如何只在12月获得?
附:我需要这个来计算统计数据(预订百分比)。
您可能需要->addMonth()
然后去->startOfMonth()
然后使用diffInHours()
。
Carbon::parse($book->departure_date)
->addMonth()
->startOfMonth()
->diffInHours(Carbon::parse($book->arrival_date.$book->arrival_time));
我省略了$book->departure_time
,否则时间戳不会是这个月第一天的第一秒。