2011-11-06 9 views
3

나는 많은 시간과 타임 스탬프로 저장된 데이터가있는 MySQL 데이터베이스를 가지고 있습니다.현지 시간에 MySQL 타임 스탬프 표시

사용자가 해당 데이터베이스를 쿼리하면 데이터를 볼 수 있지만 로컬 시간대로 볼 수 있기를 원합니다.

매번 오프셋을 계산하고 PHP 코드로 타임 스탬프를 변경하지 않아도됩니다. 다른 방법이 있습니까?

답변

2

localtime() 함수를 사용하면 현지 시간을 가져와 데이터베이스에서 일치하는 레코드를 찾을 수 있습니다.

1

과 같이 MySQL과 연결 당 시간대를 설정할 수 있습니다 :

SET time_zone = 'America/Los_Angeles'; 

또는

SET time_zone = '-8:00'; 

을하지만 나를 위해 가장 좋은 방법은 될 것 localtime(); 나는 우리가 지원 작동

0

전 세계 고객이 서버의 시스템 시간을 UTC로 설정하는 것이 더 쉽다는 것을 알게되었습니다. 이를 통해 일관된 로깅 및 기본 서비스 타임 스탬프를 보장 할 수 있으며 다른 시간대의 풀에 서버를 추가해야하는 경우 localtime이 올바르게 설정된 경우 걱정할 필요가 없습니다 (b/c는 이미 UTC 임).

그러나 OP가 언급 한 것처럼 비용이 들기 때문에 우리의 응용 프로그램은 시간대를 계산해야합니다. 우리는 고객에게 시간대를 할당하고 클라이언트 사이트에 로그인 한 사용자는 클라이언트의 시간대를 얻습니다. 그래서 우리는 항상 발표 할 날짜/시간 소인을 계산해야합니다. 우리는 때때로 우리의 응용 프로그램을 프로파일 링하고 이러한 시간대 변환은 간신히 등록합니다.

시간대 전환을 처리 할 때는 하루 종일 귀하와 귀하의 상황에 달려 있습니다.