Код: Выделить всё
$dateStart = Carbon::parse($dateStart);
$dateEnd = Carbon::parse($dateEnd);
if ($dateStart && $dateEnd) {
// Calculate the difference in days
$days = $dateStart->diffInDays($dateEnd);
// Calculate remaining hours without counting full days
$hours = $dateStart->diffInHours($dateEnd) % 24; // Get the remaining hours within the last day
// dateStart = 2024-07-01 10:00:00
// dateEnd = 2024-07-20 19:42:00
return [
// "days" => (int) $days,
"days" => $days, // 19.404166666667
"hours" => $hours, // 9
];
}
dateEnd: '2024-07-20 19:42:00'
Результат будет:
"дни" => 19,404166666667,
"часы" => 9,
я хочу:
"дни " => 19,
"hours" => 9,
если я приведу дни к (int), это сработает, но я получу предупреждение, УСТАРЕЛО Неявное преобразование из float 465.7 int теряет точность
есть ли углеродный способ сделать это? Мне нужна разница в дате и времени, но в дробном результате: дни, часы, минуты
Подробнее здесь: https://stackoverflow.com/questions/786 ... -days-hour