将分钟转换为小时和分钟

时间:2012-09-12 13:50:25

标签: php date datetime

如何将分钟转换为小时和分钟? E.g。

$dt = new DateTime();
$currDate = date_format($dt, 'Y-m-d');

$startMinutes = 939;

$startT = $currDate . " " . gmdate("H:i", $startMinutes);

此代码返回的内容类似于“2012-09-12 00:15”而不是15:...为什么?

6 个答案:

答案 0 :(得分:7)

date和gmdate函数都将秒作为输入而不是分钟。所以你要做的就是将你的开始时间乘以60,以得到你的答案。

$startT = $currDate . " " . gmdate("H:i", ($startMinutes * 60));

答案 1 :(得分:6)

以下公式应该有效:

$hours  = floor($minutes/60); //round down to nearest minute. 
$minutes = $minutes % 60;

答案 2 :(得分:1)

非常快速的方法,这应该工作:

echo date('H:i', strtotime($startMinutes.' minutes'));

答案 3 :(得分:1)

$dt = new DateTime('now');
$dt->modify('+939 minutes');
echo $dt->format('Y-m-d H:i');

答案 4 :(得分:0)

试试这个..

$d = floor ($startMinutes / 1440);
$h = floor (($startMinutes - $d * 1440) / 60);
$m = $startMinutes - ($d * 1440) - ($h * 60);

echo "{$startMinutes}min converts to {$d}d {$h}h {$m}m";

你应该能够从那里拼凑起来..

答案 5 :(得分:0)

试试这个

function hour_min($minutes){
       if($minutes == 0){return '';}else{
        $hours  = round(intval($minutes/60) , 2); //round down to nearest minute.
        $minutes = $minutes % 60; return sprintf("%02d", $hours).':'.sprintf("%02d", $minutes);
       }
 }
 echo hour_min(720);  // 12:00 
 echo hour_min(480); //  08:00