Php 如何将分钟转换为小时和分钟(不含天)

Php 如何将分钟转换为小时和分钟(不含天),php,date,time,data-conversion,Php,Date,Time,Data Conversion,我想以分钟为单位显示时间,以小时和分钟为单位 示例1:我想将125分钟显示为2:05 我知道我可以这样想: $minutes=125; $converted_time = date('H:i', mktime(0,$minutes); 这很好,但如果时间超过24小时,这是一个问题 示例2: $minutes=1510; 我想要的是25:10(没有天),只有小时和分钟 怎么做?就这么简单 $minutes = 125; $hours = floor($minutes / 60); $min

我想以分钟为单位显示时间,以小时和分钟为单位

示例1:我想将125分钟显示为2:05

我知道我可以这样想:

$minutes=125;
$converted_time = date('H:i', mktime(0,$minutes);
这很好,但如果时间超过24小时,这是一个问题

示例2:

$minutes=1510;
我想要的是25:10(没有天),只有小时和分钟

怎么做?就这么简单

$minutes = 125;

$hours = floor($minutes / 60);
$min = $minutes - ($hours * 60);

echo $hours.":".$min;
编辑:应该使用floor()而不是round()来获得正确的结果。

您可以使用:

$minutes=1510;

$hours = intdiv($minutes, 60).':'. ($minutes % 60);
!!!这与php>=v7.xx有关

先前的答复:

$minutes=1510;

$hours = floor($minutes / 60).':'.($minutes -   floor($minutes / 60) * 60);

date
函数对您没有帮助,因为您没有处理日期!这是一个简单的手动操作,主要涉及
/60
操作。在发布新问题之前,请尝试做一个简短的搜索。请再试一次,以
$minutes=35
作为输出。floor()解决了此问题。简单易懂+1汉克斯·马辛·季斯基:-)$hours=地板($minutes/60)。“:”($minutes%60);但这里缺少了一些东西。你的答案是正确的,但不是时间格式。我的意思是你的答案是8:60或9:01或9:10。这里的小时值是单一值。如果是这样的09:23表格就更好了。。我在这里发布了我的解决方案,您可以查看。查看我的解决方案,$minutes=$item['time_diff']$小时=sprintf(“%02d”,intdiv($minutes,60))。:'。(sprintf('%02d',$minutes%60));当分钟数为个位数时,此答案提供的解决方案没有意义。例如:在67分钟内,它返回:
1:7
。相反,它应该是
1:07
。请使用
sprintf
设置格式以更正答案。
$hours = floor($minutes / 60); // Get the number of whole hours
$minutes = $minutes % 60; // Get the remainder of the hours

printf ("%d:%02d", $hours, $minutes); // Format it as hours:minutes where minutes is 2 digits