> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 CONVERT_TZ() 함수는 일광 절약 시간을 처리하며 시간대 문제를 어떻게 해결할 수 있습니까?

MySQL의 CONVERT_TZ() 함수는 일광 절약 시간을 처리하며 시간대 문제를 어떻게 해결할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-11-19 20:07:02
원래의
893명이 탐색했습니다.

Does MySQL's CONVERT_TZ() Function Handle Daylight Saving Time, and How Can I Troubleshoot Time Zone Issues?

일광 절약 시간을 고려한 MySQL CONVERT_TZ()

질문 1:

예, 당신의 이해가 정확합니다. CONVERT_TZ()는 시간대 이름을 지정할 때 일광 절약 시간을 고려합니다. 예를 들어 CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN')은 실제로 1월 1일에 '19:00:00'을 반환하고 7월 1일에 '20:00:00'을 반환합니다.

질문 2:

아니요, 시간대 UTC 오프셋을 최신 상태로 유지하기 위해 MySQL의 시간대 테이블을 지속적으로 업데이트할 필요는 없습니다. MySQL은 시간대 규칙이 변경되면 자동으로 테이블을 업데이트합니다.

질문 3:

SELECT CONVERT_TZ('2004-01-01 12:00:00'의 결과) ,'GMT','MET') "NULL"이 반환되면 시간대 테이블이 제대로 설정되지 않았음을 의미할 수 있습니다.

이를 확인하려면 다음 쿼리를 실행할 수 있습니다.

SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');
로그인 후 복사

결과가 NULL이 아니면 시간대 테이블이 올바르게 설정된 것입니다.

대체 시간대 오프셋 계산:

시간이 없는 경우 구역 테이블이 설정된 경우에도 다음 쿼리를 사용하여 시간대 오프셋을 계산할 수 있습니다.

select utc_timezone() - interval user_timezone_offset_in_hours hour
from userinfo a
where user_id = 999;
로그인 후 복사

그러나 이 접근 방식을 사용하려면 사용자의 시간대 오프셋을 수동으로 업데이트해야 합니다.

JavaScript를 통해 시간대 가져오기:

웹 애플리케이션의 경우 JavaScript를 통해 사용자의 시간대를 가져올 수 있습니다. 다음 링크는 이를 수행하는 방법에 대한 예를 제공합니다.

[JavaScript 시간대 감지](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl .DateTimeFormat)

시간 계산에 INTERVAL 사용:

INTERVAL 키워드를 사용하면 시간 값을 편리하게 더하고 뺄 수 있습니다. 예를 들어 다음 쿼리는 현재 시간에서 1일 4시간 8분을 뺍니다.

select now() a, now() - interval 1 day + interval 4 hour + interval 8 minute b;
로그인 후 복사

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿