Как рассчитать час: минуты из общего количества минут? - PullRequest
6 голосов
/ 28 октября 2011

Например, у меня есть 525 минут, если мы разделим это на 60, результат будет 8,75

Но у 1 часа есть только 60 минут, а не 75

Как я могу рассчитать точный час: минуты из общего количества минут?

Ответы [ 4 ]

15 голосов
/ 28 октября 2011
$hours = intval($totalMinutes/60);
$minutes = $totalMinutes - ($hours * 60);

Отредактировано, чтобы быть PHP

10 голосов
/ 28 октября 2011

Этот тип преобразования выполняется с использованием целочисленного деления и оператора по модулю. С помощью целочисленного деления вы узнаете, сколько у вас «больших» юнитов, а по модулю - сколько «маленьких» юнитов осталось:

define('MINUTES_PER_HOUR', 60);

$total_minutes = 525;
$hours = intval($total_minutes / MINUTES_PER_HOUR);  // integer division
$mins = $total_minutes % MINUTES_PER_HOUR;           // modulo

printf("%d minutes is really %02d:%02d.\n", $total_minutes, $hours, $mins);

См. В действии .

2 голосов
/ 28 октября 2011

floor(525 / 60) - количество часов (8.75, округленное до 8).

525 % 60 - количество минут (оператор по модулю).

1 голос
/ 07 января 2013

То, что я сделал для моей подруги, составило ее диаграмму с 60-минутными интервалами, например, 1 = 60,2 = 120,3 = 180,4 = 240,5 = 300,6 = 360 и т. Д., И т. Д., Затем я сказал ей получитьее минуты, например, 337, находят самое близкое число без перебора, которое будет равно 5, затем используйте число 5, равное и вычитаем его из исходных минут 337-300 = 37, остаток - минуты, таким образом, 337 минут равны 5 часам и 37 минутам

...