Есть даты в в таком формате 2023-09-10 01:30:06 2022-07-10 02:31:07 как посчитать сколько полных минут прошло между ними ?
PHP: <?php $start = new DateTime("2022-07-10 02:31:07", new DateTimeZone('UTC')); $end = new DateTime("2023-09-10 01:30:06", new DateTimeZone('UTC')); $interval = $start->diff($end); $minutes = ($interval->days * 24 * 60) + ($interval->h * 60) + $interval->i; print_r($minutes); $minutes = floor(($end->getTimestamp() - $start->getTimestamp()) / 60); print_r($minutes);
PHP: $date1 = '2023-09-10 01:30:06'; $date2 = '2022-07-10 02:31:07'; $diff = (int) ((strtotime($date1) - strtotime($date2))/60)
Добрый день! Вспомнилось из фильма "17 мгновений весны".Там была песня "Не думай о секундах свысока". Конечно можно игнорироать секунды при подсчёта интервала времени в минутах, но можно их учесть, и так изменить три предлагаемых выше решения: PHP: <?php $start = new DateTime("2022-07-10 02:31:07", new DateTimeZone('UTC')); $end = new DateTime("2023-09-10 01:30:06", new DateTimeZone('UTC')); $interval = $start->diff($end); $minutes = ($interval->days * 24 * 60) + ($interval->h * 60) + $interval->i + ($interval->s)/60; echo "$minutes<br>"; // 614818.98333333 $minutes = (($end->getTimestamp() - $start->getTimestamp()) / 60); echo "$minutes<br>"; // 614818.98333333 $date1 = '2023-09-10 01:30:06'; $date2 = '2022-07-10 02:31:07'; $diff = ((strtotime($date1) - strtotime($date2))/60); echo "$diff<br>"; // 614818.98333333 $diff = round((strtotime($date1) - strtotime($date2))/60); echo $diff; // 614819 ?> Очевидно, что результат типа float во всех случаях совдает, но если "не думать о секундах свысока" то, для его округления м.б правильнее использовать функцию round. Удачи!