>데이터 베이스 >MySQL 튜토리얼 >MySQL의 CONVERT_TZ() 함수는 시간대와 일광 절약 시간을 어떻게 처리합니까?

MySQL의 CONVERT_TZ() 함수는 시간대와 일광 절약 시간을 어떻게 처리합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-24 01:42:14784검색

How Does MySQL's CONVERT_TZ() Function Handle Time Zones and Daylight Saving Time?

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을 반환하면 시간대 테이블이 제대로 설정되지 않은 것입니다.

추가 팁

  • 웹 애플리케이션의 경우 JavaScript를 사용하여 사용자의 시간을 얻을 수 있습니다. zone.
  • 시간을 직접 더하거나 빼는 대신 MySQL의 INTERVAL 키워드를 사용하여 시간 계산을 처리할 수 있습니다. 예를 들어 다음을 사용하여 하루를 빼고 4시간을 더할 수 있습니다.

    now() - interval 1 day + interval 4 hour

위 내용은 MySQL의 CONVERT_TZ() 함수는 시간대와 일광 절약 시간을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.