>  기사  >  웹 프론트엔드  >  UTC 시간 문자열을 변환할 때 'new Date()'가 Chrome과 Firefox에서 다르게 동작하는 이유는 무엇입니까?

UTC 시간 문자열을 변환할 때 'new Date()'가 Chrome과 Firefox에서 다르게 동작하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-26 02:51:02545검색

Why does `new Date()` behave differently in Chrome and Firefox when converting UTC time strings?

Chrome과 Firefox 간 new Date() 동작의 불일치 이해

new Date( ), Chrome과 Firefox 간에는 미묘한 차이가 발생합니다. 이 동작은 특히 UTC 시간 문자열로 작업할 때 혼란스러울 수 있습니다.

질문에 제공된 코드 var date = new Date('2013-02-27T17:00:00');는 날짜를 생성합니다. UTC 형식의 날짜 문자열에서 개체입니다. 그러나 결과는 두 브라우저 간에 다릅니다.

  • Firefox: 예상 UTC 시간보다 1일 늦은 날짜를 반환합니다.
  • Chrome: 정확한 UTC 시간을 반환합니다.

차이의 원인

차이는 날짜 문자열의 해석에서 비롯됩니다. Firefox는 문자열을 브라우저 시간대의 현지 시간으로 해석하고 Chrome은 이를 UTC로 해석합니다. 결과적으로 Firefox는 브라우저의 시간대 오프셋을 날짜에 추가하여 UTC보다 하루 늦게 표시되도록 합니다.

해결책

이 불일치를 해결하고 두 브라우저 모두에서 올바른 UTC 시간을 사용하려면 UTC 날짜 문자열에 대한 올바른 형식을 준수하는 것이 중요합니다. 올바른 형식은 다음과 같습니다.

YYYY-MM-DDTHH:mm:ssZ

여기서:

  • YYYY-MM-DD는 연도, 월, 일을 나타냅니다.
  • HH:mm:ss 시, 분, 초를 나타냅니다.
  • Z는 Zulu 시간 표시기를 나타냅니다.

날짜 문자열 끝에 "Z" 표시를 추가하면 브라우저가 올바르게 해석합니다. UTC 시간입니다.

업데이트된 코드:

<code class="javascript">var date = new Date('2013-02-27T17:00:00Z'); // Appends 'Z' to indicate UTC
alert(date);</code>

이 업데이트된 코드는 이제 Firefox와 Chrome 모두에서 동일한 정확한 UTC 날짜 객체를 생성합니다.

위 내용은 UTC 시간 문자열을 변환할 때 'new Date()'가 Chrome과 Firefox에서 다르게 동작하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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