#php #hour
#php #час
Вопрос:
Например, у меня есть 525 минут, если мы разделим его на 60, результат будет 8,75
Но 1 час имеет только 60 минут, а не 75
Как я могу рассчитать точный час: минуты из общего количества минут?
Ответ №1:
$hours = intval($totalMinutes/60);
$minutes = $totalMinutes - ($hours * 60);
Отредактировано, чтобы быть PHP
Комментарии:
1. @Jon Я бы ожидал, что большинство программистов смогут принять это и смогут делать с этим то, что они хотят, на любом языке, на котором они работают. Вы правы, что это не PHP, но вопрос в том, дает ли он оператору информацию, необходимую ему для решения проблемы? Я думаю, что это было бы.
Ответ №2:
Этот вид преобразования выполняется с использованием целочисленного деления и оператора по модулю. С помощью целочисленного деления вы узнаете, сколько «больших» единиц у вас есть, а с помощью модуля вы узнаете, сколько «маленьких» единиц осталось:
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 d:d.n", $total_minutes, $hours, $mins);
Комментарии:
1. Просто чтобы добавить к этому ответу. % — это оператор по модулю, который дает остаток от деления. Т.е. 8% 5 = 3.
2. Вау, отличный ответ, спасибо вам и спасибо другим людям за ответы!
Ответ №3:
floor(525 / 60)
дает количество часов ( 8.75
округленное в 8
меньшую сторону).
525 % 60
дает количество минут (по модулю оператора).
Комментарии:
1. 525/60 вернет 8,75, но как насчет 75? есть еще один час ..!! как мы можем добавить это в часах?
Ответ №4:
То, что я сделал для моей подруги, сделало ее график с 60-минутными интервалами, например 1=60,2=120,3=180,4=240,5=300,6=360 и т.д. и т.д. затем я сказал ей, чтобы она получила свои минуты, например, 337, найдите ближайшее число, не переходя к нему, которое будет равно 5, затем используйте число 5 равно и вычтитеэто из ваших исходных минут 337-300 = 37, остаток — это минуты, таким образом, 337 минут равны 5 часам и 37 минутам