2011-11-21 5 views

답변

5

유닉스 타임 스탬프 초 단위입니다. 분당 60 초, 시간당 60 분이 있습니다. 따라서 초 단위에서 시간 단위로 변환하려면 60*60 = 3600으로 나눕니다. 당신은 시간을 반올림 floor() 또는 ceil()를 사용할 수

$timestamp = 169200; 

$secs = $timestamp%60; 
$mins = floor($timestamp/60); 
$hours = floor($mins/60); 
$mins = $mins%60; 

printf("%02d:%02d:%02d", $hours, $mins, $secs); 

http://ideone.com/gFKv2

+0

자주 사용되지 않는'printf'의 좋은 애플리케이션 –

+0

좋습니다. 그러나 초 후에 이상한 숫자 (8)가있었습니다. printf를 sprintf로 변경하면 문제가 해결되었습니다. – Warface

+0

아마도'printf' 전에'echo'를 넣었 기 때문입니다. 'printf'는 인쇄 된 문자열의 길이를 반환하고, 그 다음에 인쇄 된 후에 출력됩니다. 'echo'를 제거하면'printf'는 잘되어야합니다. – Kleist

0
$hours = $timestamp/3600; 

:

당신은 분, 초뿐만 아니라 필요한 경우.

관련 문제