MySQL의 일광 절약 시간으로 모호한 날짜 시간 처리
일광 절약 시간(DST)이 발생하면 어려운 시간이 모호합니다. 의도된 시간 참조를 결정합니다. 예를 들어 미국/뉴욕 시간대에서는 가을 전환 기간 동안 오전 1시 30분이 두 번 발생할 수 있습니다.
문제:
MySQL의 DATETIME 및 TIMESTAMP 필드는 고유한 값을 나타냅니다. 이러한 모호한 시기를 처리하는 데 어려움이 있습니다. DATETIME 필드는 시간대나 DST 변환을 고려하지 않고 날짜와 시간을 있는 그대로 저장합니다. TIMESTAMP 필드는 입력 타임스탬프를 UTC로 또는 그 반대로 변환합니다.
해결책:
1. DATETIME 필드 사용:
DATETIME 필드에 저장하기 전에 타임스탬프를 UTC로 변환하세요. 이렇게 하면 저장할 정확한 UTC 시간을 제어할 수 있습니다.
2. 검색된 데이터 해석:
DATETIME 필드에서 검색된 타임스탬프를 MySQL 외부의 UTC 타임스탬프로 해석합니다. 이는 MySQL의 날짜/시간 함수로 인해 발생하는 모호성을 방지합니다.
3. TIMESTAMP 필드 피하기:
DST가 포함될 때 현지 시간과 UTC 간의 변환이 일관되지 않을 수 있으므로 TIMESTAMP 필드 사용을 피하세요.
구현:
가져오는 중 데이터:
// Example using PHP's DateTime class $timestamp = strtotime($db_timestamp . ' UTC');
데이터 저장:
// Example using PHP's DateTime class $UTCDateTime = new DateTime('2009-11-01 1:30:00 EST'); $db_timestamp = $UTCDateTime->format('Y-m-d H:i:s');
고려 사항:
위 내용은 일광 절약 시간제 전환 중에 MySQL이 모호한 날짜 시간을 어떻게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!