나는 많은 시간과 타임 스탬프로 저장된 데이터가있는 MySQL 데이터베이스를 가지고 있습니다.현지 시간에 MySQL 타임 스탬프 표시
사용자가 해당 데이터베이스를 쿼리하면 데이터를 볼 수 있지만 로컬 시간대로 볼 수 있기를 원합니다.
매번 오프셋을 계산하고 PHP 코드로 타임 스탬프를 변경하지 않아도됩니다. 다른 방법이 있습니까?
나는 많은 시간과 타임 스탬프로 저장된 데이터가있는 MySQL 데이터베이스를 가지고 있습니다.현지 시간에 MySQL 타임 스탬프 표시
사용자가 해당 데이터베이스를 쿼리하면 데이터를 볼 수 있지만 로컬 시간대로 볼 수 있기를 원합니다.
매번 오프셋을 계산하고 PHP 코드로 타임 스탬프를 변경하지 않아도됩니다. 다른 방법이 있습니까?
localtime()
함수를 사용하면 현지 시간을 가져와 데이터베이스에서 일치하는 레코드를 찾을 수 있습니다.
과 같이 MySQL과 연결 당 시간대를 설정할 수 있습니다 :
SET time_zone = 'America/Los_Angeles';
또는
SET time_zone = '-8:00';
을하지만 나를 위해 가장 좋은 방법은 될 것 localtime();
나는 우리가 지원 작동
전 세계 고객이 서버의 시스템 시간을 UTC로 설정하는 것이 더 쉽다는 것을 알게되었습니다. 이를 통해 일관된 로깅 및 기본 서비스 타임 스탬프를 보장 할 수 있으며 다른 시간대의 풀에 서버를 추가해야하는 경우 localtime이 올바르게 설정된 경우 걱정할 필요가 없습니다 (b/c는 이미 UTC 임).
그러나 OP가 언급 한 것처럼 비용이 들기 때문에 우리의 응용 프로그램은 시간대를 계산해야합니다. 우리는 고객에게 시간대를 할당하고 클라이언트 사이트에 로그인 한 사용자는 클라이언트의 시간대를 얻습니다. 그래서 우리는 항상 발표 할 날짜/시간 소인을 계산해야합니다. 우리는 때때로 우리의 응용 프로그램을 프로파일 링하고 이러한 시간대 변환은 간신히 등록합니다.
시간대 전환을 처리 할 때는 하루 종일 귀하와 귀하의 상황에 달려 있습니다.