> 백엔드 개발 > PHP 튜토리얼 > 일광 절약 시간제 전환 중에 MySQL에서 데이터를 어떻게 정확하게 저장하고 검색할 수 있습니까?

일광 절약 시간제 전환 중에 MySQL에서 데이터를 어떻게 정확하게 저장하고 검색할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-11-19 01:59:02
원래의
857명이 탐색했습니다.

How Can You Accurately Store and Retrieve Data in MySQL During Daylight Saving Time Transitions?

MySQL 날짜 시간 필드 및 일광 절약 시간: "추가" 시간 캡처

일광 절약 시간(DST)을 준수하는 지역에서는 MySQL과 같은 데이터베이스에서 날짜와 시간을 처리할 때 당황스러운 문제가 발생합니다. 구체적으로 표준시에서 DST로 전환하는 동안 발생하는 "추가" 시간과 관련된 데이터를 어떻게 정확하게 저장하고 검색합니까?

문제: 시간 참조의 모호성

가을에 시계가 한 시간 뒤로 떨어지면서 한 시간이 '손실'되는 미국/뉴욕 시간대의 상황을 생각해 보세요. 이 전환 중에 '오전 1시 30분'과 같은 시간은 모호해지며 표준시 오전 1시 30분(-04:00) 또는 일광 절약 시간제 오전 1시 30분(-05:00)을 나타낼 수 있습니다.

MySQL의 날짜/시간 필드 처리

MySQL은 DATETIME과 TIMESTAMP라는 두 가지 유형의 날짜/시간 필드를 제공합니다. TimeSTAMP 필드는 입력된 날짜/시간을 UTC로 자동 변환하지만 DATETIME 필드는 이를 직접 저장합니다. 그러나 두 필드 유형 모두 DST를 정확하게 처리하는 데 어려움을 겪습니다.

해결책: DATETIME 필드 사용 및 UTC로 변환

이러한 제한 사항을 극복하기 위해 권장되는 접근 방식은 다음과 같습니다. DATETIME 필드를 사용하고 날짜/시간을 데이터베이스에 저장하기 전에 UTC로 변환하십시오. DST가 아닌 시간대에 데이터를 저장하면 향후 변환 및 계산을 모호성 없이 수행할 수 있습니다.

데이터베이스 저장을 위해 UTC로 변환하는 단계

  1. 데이터 추출: PHP의 strtotime() 또는 DateTime 클래스와 같은 함수를 사용하여 데이터베이스에서 UTC로 데이터를 검색합니다.
  2. UTC로 변환: 날짜/시간을 UTC로 변환합니다. PHP의 DateTime 클래스 또는 이에 상응하는 기능을 사용하여 원하는 UTC 시간.
  3. 데이터베이스에 저장: 변환된 UTC 날짜 시간을 DATETIME 필드에 저장합니다.

결론

DST 전환을 신중하게 관리하고 날짜/시간을 MySQL에 저장하기 전에 UTC로 변환함으로써 개발자는 정확하고 일관된 처리를 보장할 수 있습니다. 이 접근 방식은 모호성을 제거하고 MySQL 데이터베이스 내에서 안정적인 날짜 및 시간 관련 작업을 가능하게 합니다.

위 내용은 일광 절약 시간제 전환 중에 MySQL에서 데이터를 어떻게 정확하게 저장하고 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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