如何將分鐘轉換爲小時和分鐘?例如。將分鐘轉換爲小時和分鐘
$dt = new DateTime();
$currDate = date_format($dt, 'Y-m-d');
$startMinutes = 939;
$startT = $currDate . " " . gmdate("H:i", $startMinutes);
此代碼返回類似'2012-09-12 00:15'而不是15:...爲什麼?
如何將分鐘轉換爲小時和分鐘?例如。將分鐘轉換爲小時和分鐘
$dt = new DateTime();
$currDate = date_format($dt, 'Y-m-d');
$startMinutes = 939;
$startT = $currDate . " " . gmdate("H:i", $startMinutes);
此代碼返回類似'2012-09-12 00:15'而不是15:...爲什麼?
日期和gmdate函數都以秒爲單位輸入而不是分鐘。所以你所要做的就是將你的開始分鐘乘以60來讓你的答案奏效。
$startT = $currDate . " " . gmdate("H:i", ($startMinutes * 60));
不僅僅需要幾秒鐘,它們需要自1970年1月1日(該時代)以來的秒數。所以,這是有效的,因爲你發送了一個'56340'的時間戳,即'1970年1月1日15:39 GMT'。 –
@火箭正確我同意但基於他所說的他正在尋找15:..如果您使用我的答案,您將從gmdate(「H:i」,(939 * 60))得到的回覆;是15:39,所以我就這麼認爲這就是他想要的。 – Pitchinnate
是的,它輸出'15:39',但我認爲OP希望將939分鐘轉換爲15小時和39分鐘。 –
試試這個..
$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";
您應該能夠從那裏拼湊吧..
類似如下的公式應該工作:
$hours = floor($minutes/60); //round down to nearest minute.
$minutes = $minutes % 60;
快速和穩固的解決方案,也需要24小時以上的考慮。好! – Liquinaut
這個答案太好了,只有一個單一的無菌upvote。所以我打破了規則說:謝謝你活着發表如此純粹的優雅。 – elbowlobstercowstand
的非常快速的方式這樣做,這應該工作:
echo date('H:i', strtotime($startMinutes.' minutes'));
$dt = new DateTime('now');
$dt->modify('+939 minutes');
echo $dt->format('Y-m-d H:i');
嘗試這個
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
的可能重複[如何計算小時:從總分鐘數分鐘(http://stackoverflow.com/questions/7931935/how-to-從總分鐘計算小時分鐘) – nickb
是的,他想忘記的只是乘以60分鐘。你可以在下面看到我的答案。 – Pitchinnate
你到底想把939轉換成什麼? –