2016-08-26 1 views
4

간단한 자동차 렌탈 시스템을 사용하는 uni 프로젝트에서 작업 중입니다. 내 문제는 지금 (내가) 시간입니다 시간 (자동차 대여 일 및 시간의 양)PHP 예약 시스템 - 잘못된 계산 결과를 제공하는 시간 계산

을 계산할 때 온다 오후 12시 15분

CODE :

 //Test Variables 
     $ciDate = '2016-08-28'; 
     $ciTime = '13:10'; 

     //calc Time 
     $calcDate = $ciDate.$ciTime;   
     $calcDate = strtotime($calcDate); 
     $remaining = $calcDate - time(); 
     $days_remaining = floor($remaining/86400); 
     $hours_remaining = floor(($remaining % 86400)/3600); 
     $totPrice = $days_remaining * 4; 
     //Disp Result 
     echo $days_remaining. ' Days and ' . $hours_remaining. ' hours'; 

내 문제 위의 코드가 실행됩니다

, 내가 잘못 C 인, 다시 2 일 5 시간를 얻을 수 onsidering 내 시간은 지금 12:15 PM입니다 2016/08/26

저는 여기서 사지에 나가서 문제가 내 현재 시간과 다른 서버 시간으로 인한 것 같아요?

위의 문제를 해결하는 방법에 대한 제안 사항을 보내 주시면 대단히 감사하겠습니다.

편집

: 올바른 결과를 작성하는 시점에서

내가 당신이 어떤 시간대 모르는 이일 1 시간

+1

를 참조하십시오? –

+0

'date ('H : i', time())'을 확인한 다음 시간대를 설정하십시오. –

+0

DST 관련 문제를 방지하려면 현재 접근 방식 대신 http://stackoverflow.com/a/3923228/208809를 사용하십시오. – Gordon

답변

3

해야하지만 서버가 다른 영역에 나타납니다.
이 문제를 해결하는 방법은 많이 있지만 여기서는 code입니다. 당신이 Bagdhad에있는 경우

date_default_timezone_set (string $timezone_identifier); 

그래서 당신은

date_default_timezone_set("Asia/Baghdad"); 

을 넣어 또는 당신은 whereever 있습니다.

유 작업 r에있는 시간대에이 링크 http://php.net/manual/en/timezones.asia.php

+0

'Asia/Bangkok' =) –

+1

@vp_arth 그걸 어떻게 아십니까 ..? –

+0

'date_default_timezone_set ("Asia/Bangkok")을 설정할 때'나는 2 일 0 시간 전에 ...? –