최근에 내 서버 시간대를 America/New_York
으로 변경했습니다.현재 시간 기록 = 내일
문제는 PHP/mysql 스크립트를 실행하여 기본값으로 데이터베이스에 행을 추가 할 때입니다 : CURRENT_TIMESTAMP
, 오늘 대신 내일으로 날짜가 추가됩니다.
내일 내 서버에서 자정에 롤오버 할 때 날짜가 어제로 돌아갑니다?
최근에 내 서버 시간대를 America/New_York
으로 변경했습니다.현재 시간 기록 = 내일
문제는 PHP/mysql 스크립트를 실행하여 기본값으로 데이터베이스에 행을 추가 할 때입니다 : CURRENT_TIMESTAMP
, 오늘 대신 내일으로 날짜가 추가됩니다.
내일 내 서버에서 자정에 롤오버 할 때 날짜가 어제로 돌아갑니다?
MySQL은 자체 표준 시간대 설정을 사용하며 PHP는 자체 표준 시간대 설정을 사용합니다.
PHP 시간대 설정을 구성 할 때 MySQL에 대해서도 동일한 시간대 설정을 지정해야합니다.
오, 그런데 MySQL의 Timestamp 데이터 형식은 표준 시간대 정보를 저장하지 않습니다.이 필드에 쓸 때 MySQL에 시간대를 제공하면 MySQL은 해당 표준 시간대 설정에 따라 UTC로 변환합니다.
SELECT @@global.time_zone, @@session.time_zone;
- 그것은 잘못된 결과를 제공하는 경우 MySQL의 콘솔
에서이 작업을 수행 - 설정 파일에 명시 적으로 MySQL 서버의 시간대를 변경 :
http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html