2012-09-12 7 views
0

시간을 분과 시간으로 어떻게 변환합니까? 예 :시간을 분과 시간으로 변환하십시오.

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

$startMinutes = 939; 

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

이 코드는 15 대신 ... '129-09-12 00:15 '와 같은 것을 반환합니다. 이유는 무엇입니까?

+0

가능한 중복 시도 [시간을 계산하는 방법 : 총 분 분 (http://stackoverflow.com/questions/7931935/how-to- 계산 - hourminutes - 총 - 분) – nickb

+0

그래 그가 그가 잊어 버린 모든 것이 60 분으로 곱하기를 원한다는 것입니다. 아래에서 내 대답을 볼 수 있습니다. – Pitchinnate

+0

'939'를 정확히 변환하려고하십니까? –

답변

7

date 및 gmdate 함수는 분을 제외하고 초를 입력합니다. 그래서 당신이해야 할 일은 당신의 일을 시작하기 위해 당신의 시작 시간을 60 배로 늘리는 것입니다.

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

몇 초가 걸릴뿐만 아니라 1970 년 1 월 1 일 (초) 이후로 몇 초가 걸립니다. 그래서 이것은'56340'의 타임 스탬프를 보내고 있기 때문에 효과가 있습니다. 이것은'1 월 1 일 1970 15:39 GMT '입니다. –

+0

@Rocket correct 나는 동의한다. 그러나 그는 그가 찾고있는 말을 기반으로 15 : .. 당신이 나의 대답을 사용한다면 당신은 gmdate ("H : i", (939 * 60))로부터 얻을 것이다. 15시 39 분, 그래서 나는 이것이 그가 찾고 있던 것이라고 생각하는 이유입니다. – Pitchinnate

+0

네,'15 : 39'을 출력하지만, 저는 OP가'939 분'을'15 시간'과'39 분 '으로 변환하고 싶어한다고 생각했습니다. –

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

당신은 거기에서 그것을 함께 조각 할 수 있어야한다 ..

은 다음과 같은 화학식
6

뭔가 일을해야 :의

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

빠르고 견고한 솔루션으로 24 시간 이상 소요됩니다. 좋은! – Liquinaut

+1

이 답변은 단 하나의 멸균 upvote에 비해 너무 좋습니다. 그래서 나는 이렇게 말하는 규칙을 어 기고 있습니다. 그런 얇은 우아함을 게시 해 주셔서 감사합니다. – elbowlobstercowstand

1

매우 빠른 방법을 이렇게하면 작동합니다.

echo date('H:i', strtotime($startMinutes.' minutes')); 
1
$dt = new DateTime('now'); 
$dt->modify('+939 minutes'); 
echo $dt->format('Y-m-d H:i'); 
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 
관련 문제