집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 CONVERT_TZ() 함수는 시간대와 일광 절약 시간을 어떻게 처리합니까?
질문 1: 일광 절약 시간 고려
예, 맞습니다. 시간대 이름(예: "US/Eastern")을 지정하면 CONVERT_TZ()는 일광 절약 시간을 고려합니다. CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN')을 호출하면 1월에 '19:00:00'이 반환되며 동부 표준시가 UTC보다 5시간 늦다는 것을 인식합니다. 일광 절약 시간제 동안에는 동부 표준시가 한 시간 빠르므로 결과는 '20:00:00'이 됩니다.
질문 2: 시간대 표 업데이트
시간대 이름에만 의존하므로 오프셋을 최신 상태로 유지하기 위해 시간대 테이블을 지속적으로 업데이트할 필요가 없습니다. CONVERT_TZ()는 현재 시간대 설정과 일광 절약 시간 규칙을 고려합니다.
질문 3: NULL 반환 문제 해결
샘플 쿼리의 NULL 반환(CONVERT_TZ(' 2004-01-01 12:00:00','GMT','MET')) 실제로 시간대 테이블이 누락되어 발생할 수 있습니다. 이를 확인하려면 다음 쿼리를 실행하세요.
SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');
이 쿼리도 NULL을 반환하면 시간대 테이블이 제대로 설정되지 않은 것입니다.
추가 팁
시간을 직접 더하거나 빼는 대신 MySQL의 INTERVAL 키워드를 사용하여 시간 계산을 처리할 수 있습니다. 예를 들어 다음을 사용하여 하루를 빼고 4시간을 더할 수 있습니다.
now() - interval 1 day + interval 4 hour
위 내용은 MySQL의 CONVERT_TZ() 함수는 시간대와 일광 절약 시간을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!