2014-12-30 2 views
0

DateTime 클래스를 사용하여 간격을 계산하려고했습니다.PHP - 간격의 시간 간격 받기

$ _SERVER [ 'REQUEST_TIME']의 유닉스 타임 스탬프와 데이터베이스에서 검색 한 시간을 사용하여 시간 간격 인 DateInterval을 얻습니다. 그 부분은 작동합니다.

이 간격은 프로세스가 시작된 후 예를 들어 5 분 10 초가 될 수 있습니다.

예상되는 프로세스가 완료되는 데 걸리는 시간은 10 분이며 예상 시간은 4 분 50 초입니다.

$running_time; // calculated before, type DateInterval. Echoing the formatted value shows correct time 
// (only problem is no leading 0's for single-digit minutes/seconds in format: '%i:%s') 
$total = new DateTime('10:00'); // ten minutes, 0 seconds expected total running time 
$time_left = $total->diff(new DateTime($running_time->format('%i:%s'))); // fatal error 

이상한 점을 제외하면 이상하게도 형식 기능이 예상대로 작동하지 않는다고 생각합니다. 분 및 초는 한 자리 숫자 일 때 앞에 오는 0을 갖지 않습니다.

힌트가 있습니까?

답변

1

그래, PHP 설명서는이 설명서에서 사용하지 않습니다.

I와 S를 대문자로 표시하면 앞에 0이 생깁니다.

$running_time->format('%I:%S') 
+0

그들은 'date()'함수보다 다른 형식을 사용하는 것이 이상합니다. 그것은 작동하는 것처럼 보였다. –