Я работаю над системой управления отпуска/отпуска. 3 с половиной дней будут представлены как 3,5 < /p>
Чтобы упростить расчеты в течение полуквартажа, математика основана на дне, начиная с 00:00 и заканчивается в 23: 59: 59,999999 < /p>
Я могу сделать это со следующими, но не исключает выходных, которые считаются, как часть пользователей оставляют Quata.if($validated['leave_start_day_part'] == 'AM'){
//Leave starts at the beginning of the day
$startDate = Carbon::createFromDate($validated['leave_start_date'])->startOfDay();
}else{
//Leave starts midday (half day)
$startDate = Carbon::createFromDate($validated['leave_start_date'])->midDay();
}
if($validated['leave_end_day_part'] == 'AM'){
//Leave ends at midday (half day)
$endDate = Carbon::createFromDate($validated['leave_end_date'])->midDay();
}else{
//Leave ends at the end of the day
$endDate = Carbon::createFromDate($validated['leave_end_date'])->endOfDay();
}
$dayCount = $startDate->copy()->diffInDays($endDate);
< /code>
diffindays возвращает поплавок, который идеально подходит, но также включает в себя дни выходных.$dayCount = $startDate->copy()->diffInWeekdays($endDate);
< /code>
Я рассматривал возможность использования DiffindaysFiltered, но это также возвращает только целое число. Десятичное значение имеет решающее значение для расчета общего использованного отпуска. Есть ли другой метод углерода, который может достичь этого и выходного плавания или пора рассмотреть другой маршрут?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ead-of-int