>  기사  >  웹 프론트엔드  >  왜 `new Date()`가 Chrome과 Firefox에서 UTC 문자열을 다르게 해석합니까?

왜 `new Date()`가 Chrome과 Firefox에서 UTC 문자열을 다르게 해석합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-01 07:29:30887검색

Why Does `new Date()` Interpret UTC Strings Differently in Chrome and Firefox?

Chrome과 Firefox 간 new Date() 동작의 차이점

new Date() 생성자를 사용하여 날짜 문자열을 Date 객체로 변환하려고 하면 동작이 다음과 같이 될 수 있습니다. 브라우저마다 다릅니다. 이는 UTC(협정 세계시) 날짜 문자열을 처리할 때 특히 분명합니다.

제공된 코드 스니펫에서:

var date = new Date('2013-02-27T17:00:00');
alert(date);

Chrome은 입력 문자열을 현지 시간으로 해석하고 이를 기준으로 조정합니다. 브라우저의 시간대에 있습니다. 이 경우 시간은 2013년 2월 28일 현지 시간 오전 12시로 해석됩니다.

반면 Firefox는 문자열을 UTC 시간으로 구문 분석하여 그에 따라 표시합니다. 이 경우 시간은 2013년 2월 27일 오후 5시(GMT 7:00)로 올바르게 표시됩니다.

브라우저 전반에서 일관된 동작을 보장하려면 올바른 UTC로 날짜 문자열을 제공하는 것이 중요합니다. 체재. UTC의 표준화된 형식은 UTC 시간을 나타내는 "Z" 접미사를 포함하는 ISO 8601입니다.

2013-02-27T17:00:00Z

입력에 "Z"를 추가하여 문자열을 사용하면 Chrome과 Firefox 모두 날짜 문자열을 UTC 시간으로 해석하여 동일한 출력을 얻을 수 있습니다.

var date = new Date('2013-02-27T17:00:00Z');
alert(date);

출력:

Wed Feb 27 2013 17:00 :00 GMT 0700(동남아시아 표준시)

위 내용은 왜 `new Date()`가 Chrome과 Firefox에서 UTC 문자열을 다르게 해석합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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