ISO 8601, Safari와 Chrome의 차이

Safari와 Chrome에서 날짜 처리가 다른 것은 알고 있었지만 ISO 8601 텍스트 처리가 다를 줄은 또 몰랐네요. 서버에서 받은 텍스트가 ISO8601 시간 텍스트를 문자로 받았고 new Date()로 생성 또는 Date.parse()한 결과가 둘이 다르게 해석됩니다. (아래 캡쳐 이미지는 위가 Chrome, 아래가 Safari)

Screen Shot 2019-06-21 at 9.11.40 AM

Screen Shot 2019-06-21 at 9.12.00 AM

Chrome에서는 ‘2018-04-16T00:00:00’ 시간에 대한 해석이 한국시간(GMT+0900) 기준의 2018년4월16일 00:00:00으로 해석하고 Safari에서는 2018년4월16일 00:00:00을 GMT+0000시간으로 계산한 다음에 한국시간(GMT+0900) 으로 보여지게 됩니다.

Screen Shot 2019-06-21 at 9.16.18 AM

Screen Shot 2019-06-21 at 9.16.49 AM

ISO8601의 타임존(TZD:Time zone Designator)를 직접 설정하게 되면 동일한 시간을 보여줍니다. 위에는 Zulu(GMT+0000)를 기준으로 입력하였고 아래는 한국시간(GMT+0900)으로 설정한 경우입니다.

Screen Shot 2019-06-21 at 9.20.37 AM

Screen Shot 2019-06-21 at 9.20.46 AM

참고자료 + 재미있게 읽은글:

 

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중