Разница в датах углерода между двумя датами, но я хочу, чтобы результат был в днях, часах и минутах [дубликат]Php

Кемеровские программисты php общаются здесь
Anonymous
Разница в датах углерода между двумя датами, но я хочу, чтобы результат был в днях, часах и минутах [дубликат]

Сообщение Anonymous »

Код: Выделить всё

$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
];
}
dateStart: '2024-07-01 10:00:00'
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

Вернуться в «Php»