자바스크립트의 Date 동작(Safari)
var dt = new Date('2018-11-28T11:30:30+0900');
브라우저별 거동
Chrome
보통으로 움직이네요.
Safari
어라? 안돼요.
사양 조사
Date - JavaScript | MDN 를 살펴봅니다.
구문
new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]));
new Date(dateString);
의 dateString은 ISO8601 형식을 인식한다는 것입니다만 ...
대응책
결국 이 방법으로 대응했습니다. (2018-11-29 코멘트를 받아 수정)
var at = '2018-11-28T11:30:30+0900';
var dt = new Date(at.replace(/([\+|\-])([0-9]{2})([0-9]{2})$/,"$1$2:$3"));
타임존의 +hhmm 부분을 +hh:mm로 하면 Safari에서도 올바르게 인식해준다는 것이므로 +0900을 +09:00으로 변환하도록 했습니다.
Firefox에서도 확인했지만 괜찮습니다.
Reference
이 문제에 관하여(자바스크립트의 Date 동작(Safari)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/qoAop/items/3aab78ed4e9d466cfa79
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
결국 이 방법으로 대응했습니다. (2018-11-29 코멘트를 받아 수정)
var at = '2018-11-28T11:30:30+0900';
var dt = new Date(at.replace(/([\+|\-])([0-9]{2})([0-9]{2})$/,"$1$2:$3"));
타임존의 +hhmm 부분을 +hh:mm로 하면 Safari에서도 올바르게 인식해준다는 것이므로 +0900을 +09:00으로 변환하도록 했습니다.
Firefox에서도 확인했지만 괜찮습니다.
Reference
이 문제에 관하여(자바스크립트의 Date 동작(Safari)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/qoAop/items/3aab78ed4e9d466cfa79텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)