2011-10-21 2 views
1

나는 현재 시간과 시간 스탬프 (예 : 2011-10-21 11:16:00)의 차이를 계산하는 PHP 함수를 작성하고 있습니다.이 함수는 mySQL 데이터베이스 테이블에서 검색됩니다.시간 차이 계산시 잘못된 결과

문제점 : 계산 된 시간 차이는 6 시간 정도 인 것으로 보입니다! 코드를 살펴본 결과 왜 타임 스탬프가 몇 분 전에 6 시간의 시간 차이를 낳았는지 알 수 없습니다. 그러나 변수 $datetime_now을 특정 값으로 설정하면 계산 된 시간 차이가 정확합니다! 올바른 방향으로 나를 가리 키도록 도움을 주시면 대단히 감사하겠습니다!

PHP 코드 :

$datetime_now = new DateTime; 
$datetime_post = new DateTime($results[$key]['post_timestamp']); //ie. 2011-10-21 11:16:00 
$interval = $datetime_now->diff($datetime_post); 
$hours = $interval->format('%h'); 

추가 정보 :

내가 로컬 컴퓨터에 웹 서버 (XAMPP 패키지)를 실행하고, 동일한 시스템에서 웹 페이지에 접근하고있다.

+0

시간대가 무엇입니까? MySQL은 다른 표준 시간대에 시간 소인 필드를 저장하고 있습니다. –

답변

3

시간대, GMT-6이라고 생각 하시나요? 모든 거래에 대해 UTC를 사용하고 마지막 단계에서 현지 시간으로 변환하여이 문제를 해결하십시오. 서버 로케일 설정을 확인하면 그들이 살고있는 곳과 다를 것이라고 확신합니다.

+0

보스턴에있는 시간대는 UTC/GMT -5 시간입니까? 오류는 6 시간이지만 .. 내 서버 설정을 확인하고 아파치 설정에서 찾거나 PHP 또는 MYSQL 아래에 하나 있습니까? – Nyxynyx

+0

서버가 보스턴에 있습니까? –

+0

어떤 종류의 호스팅 서버를 실행하고 있습니까? Linux/Windows? 터미널 액세스 권한이 있습니까? – Whetstone