2014-12-12 2 views
-1

그래서이 코드는 데이터베이스의 현재 시간과 날짜/시간 필드 값의 차이를 확인합니다.php DateTime weird odd

이 코드는 동일한 연도가 아닌 날짜에 이상한 출력 (아래 샘플)을 제공합니다.

$deadline  = new DateTime($someDeadline, new DateTimeZone('CET')); 
$time_now  = new DateTime('NOW', new DateTimeZone('CET')); 
$overdue_until = $time_now->diff($deadline); 
echo $overdue_until->format('%R %d day/s, %h hours, %i minutes'); 

예 결과 : 오후 5시 28분 23초는 차이 + 이십팔일/s의 17 시간 현재 시간 6 분 얻는다 년 2 월 2015 년

월요일 9. 월

수요일 14 2015 오전 11시 28분 43초 + 2 일/s의 10 시간 34 분

+0

시간대 CET는 이전 버전과의 호환성을 위해 존재하고 사용하지 않아야 사용해야하는 경우. [PHP 페이지] (http://php.net/manual/en/timezones.others.php) –

답변

2

%d 31 일 당신을 가져옵니다. 그런 다음 0으로 재설정되고 개월이 증가합니다. 당신이 총을 원하는 경우에 일 당신은 %a

echo $overdue_until->format('%R %a day/s, %h hours, %i minutes'); 

Demo 1 Demo 2