分を時間と分に変換するにはどうすればよいですか? 例えば
$dt = new DateTime();
$currDate = date_format($dt, 'Y-m-d');
$startMinutes = 939;
$startT = $currDate . " " . gmdate("H:i", $startMinutes);
このコードは、15: ではなく '2012-09-12 00:15' のようなものを返します...なぜですか?
date 関数と gmdate 関数はどちらも、分ではなく秒を入力として取得します。したがって、あなたがしなければならないことは、あなたの答えを得るためにあなたのstartminutesに60を掛けることだけです.
$startT = $currDate . " " . gmdate("H:i", ($startMinutes * 60));
次の式のようなものが機能するはずです。
$hours = floor($minutes/60); //round down to nearest minute.
$minutes = $minutes % 60;
それを行う非常に迅速な方法、これはうまくいくはずです:
echo date('H:i', strtotime($startMinutes.' minutes'));
$dt = new DateTime('now');
$dt->modify('+939 minutes');
echo $dt->format('Y-m-d H:i');
これを試して..
$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";
そこから繋げればいいのに..