如何从总分钟数计算出小时:分钟?

7
例如,我有525分钟,如果我们将它除以60,结果将是8.75。
但是1小时只有60分钟,而不是75分钟。
如何从总分钟数计算出确切的小时:分钟?
4个回答

17
$hours = intval($totalMinutes/60);
$minutes = $totalMinutes - ($hours * 60);

修改为 PHP


1
@Jon 我认为大多数程序员都能够使用它并在他们所使用的任何语言中实现他们想要做的事情。你说得对,这不是PHP,但问题是它是否提供了OP解决问题所需的信息?我认为它会。 - corsiKa

9

这种转换使用整数除法和取模运算完成。通过整数除法,您可以找出有多少个“大”单位,而通过取模运算,您可以找出剩下多少个“小”单位:

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);

点击此处查看演示.


只是为了补充这个答案。%是模运算符,它给出除法的余数。即8%5=3。 - NickLH
哇,非常棒的回答,谢谢你和其他提供答案的人! - Valoda

3

floor(525 / 60) 可以得到小时数(8.75 向下取整为 8)。

525 % 60 可以得到分钟数(取模运算符)。


525 / 60 会得到 8.75,但是 75 怎么办?还有一个小时...!我们怎样把它加入小时数中呢? - Rahul Sharma

1
我为我的女朋友做的事情是让她制作一个每60分钟为一段的图表,例如1=60,2=120,3=180,4=240,5=300,6=360等等。然后我告诉她找到她的分钟数,比如337,找到最接近但不超过这个数字的数,那就是5,然后用5等于的数字减去你的原始分钟数,即337-300=37,余数就是分钟数,因此337分钟等于5小时37分钟。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接