일광 절약 시간을 고려한 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!