>웹 프론트엔드 >JS 튜토리얼 >Chrome 67이 1900년 이전 날짜에 대해 부정확한 시간대 오프셋을 반환하는 이유는 무엇입니까?

Chrome 67이 1900년 이전 날짜에 대해 부정확한 시간대 오프셋을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-08 17:31:02404검색

Why is Chrome 67 Returning Inaccurate Time Zone Offsets for Dates Before 1900?

Chrome 67의 역사적인 시간대 변경: 행동 촉구

소개:
최근 업데이트 Chrome 67에서는 개발자들 사이에서 시간대 계산의 부정확성에 대한 우려가 제기되었습니다. 이 문서에서는 문제와 잠재적인 영향을 살펴보고 그 영향을 완화하기 위한 지침을 제공합니다.

문제:
Chrome 67로 업데이트한 후 사용자는 getTimezoneOffset() 메서드는 1900년 이전 날짜에 적용됩니다. 특히 Chrome 67은 해당 기간의 날짜에 대해 다른 브라우저와 비교하여 다른 시간대 오프셋을 반환합니다.

분석:
이러한 불일치의 원인은 Chrome에서 사용하는 기본 시간대 데이터에 있습니다. 이전 버전에서 Chrome은 운영체제의 시간대 정보에 의존했습니다. 그러나 Chrome 67부터는 브라우저가 운영 체제에서 제공하는 데이터와 다른 자체 IANA 시간대 데이터를 번들로 묶기 시작한 것으로 보입니다.

IANA 시간대 데이터베이스에는 다음을 포함한 과거 시간대 데이터가 포함되어 있습니다. 1900년 이전에 존재했습니다. 포괄적인 역사적 정보를 수집하는 것은 어렵기 때문에 이 데이터가 모든 시간과 위치에 대해 정확하다고 보장할 수 없다는 점에 유의하는 것이 중요합니다.

결과:
이러한 불일치는 기록 데이터에 대한 정확한 시간대 정보에 의존하는 애플리케이션에 심각한 영향을 미칠 수 있습니다. 모든 과거 날짜에 대해 일관된 시간대 오프셋을 가정하는 코드는 이제 잘못된 결과를 생성할 수 있습니다. 1900년 경계에 가까운 날짜를 처리하는 애플리케이션의 경우 특히 문제가 됩니다.

완화:
이 문제의 영향을 완화하려면 개발자는 다음 단계를 수행하는 것이 좋습니다.

  • 1970년 이전의 시간대 정보는 쿼리하지 마세요. IANA 데이터베이스는 1970년 이전 데이터가 신뢰할 수 없다는 점을 인정하므로 이에 의존하지 않는 것이 가장 좋습니다.
  • 시간대 변경을 처리하도록 코드를 업데이트하세요. 1900년 이전 기간 내의 과거 날짜를 처리해야 하는 애플리케이션은 잠재적인 시간대 조정을 고려하여 업데이트되어야 합니다.
  • 시간대 라이브러리 사용을 고려하세요. 타사 라이브러리는 기록 데이터를 포함하여 보다 정확하고 포괄적인 시간대 정보를 제공할 수 있습니다.

결론:
Chrome의 시간대 처리에 대한 최근 변경 사항은 중요성을 강조했습니다. 과거 시간대 데이터의 정확성과 신뢰성을 고려하는 것입니다. 권장 완화 단계를 구현함으로써 개발자는 기록 시간대 전환의 복잡성을 탐색하면서 애플리케이션의 지속적인 안정성을 보장할 수 있습니다.

위 내용은 Chrome 67이 1900년 이전 날짜에 대해 부정확한 시간대 오프셋을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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