Правильный перевод секунд в минуты и часы на PHP
Сегодня я хотел бы поговорить с вами о логике перевода времени в нужный и, главное, правильный формат. Делая очередной заказ, я столкнулся как раз с такой задачей.
Начну сразу с примера. У меня было 100 минут, и при переводе в часы я получил 1.67. Казалось бы, мы 100 делим на 60 (время 1 часа) и в остаток отправляем минуты – но остаток оказался 67, что в принципе является ошибкой.
Поэтому рассказываю, как правильно перевести время в нужный формат, использовав при этом функцию «floor».
В нашем распоряжении есть 6000 секунд (100 минут). Мы переведем это время в минуты:
<?php
$seconds = 6000; // Количество исходных секунд
$minutes = floor($seconds / 60); // Считаем минуты
echo $minutes; // Получаем 100 минут
?>
Теперь наши полученные минуты мы переведем в часы:
<?php
$seconds = 6000; // Количество исходных секунд
$minutes = floor($seconds / 60); // Считаем минуты
$hours = floor($minutes / 60); // Считаем количество полных часов
$minutes = $minutes - ($hours * 60); // Считаем количество оставшихся минут
echo $hours.':'.$minutes; // Получаем время 1:40
?>
Как видим, здесь в основном чистая математика, так что использовать предложенные варианты перевода времени, думаю, не составит для вас особого труда.