미니옵빠의 code stubs

IE8 및 Safari 에서 new Date() 시 NaN 오류 이슈 본문

Language/Javascript

IE8 및 Safari 에서 new Date() 시 NaN 오류 이슈

미니옵빠 2016. 1. 25. 18:31

Javascipt 에서 new Date(str) 등으로 텍스트 형태의 날짜를 사용하는 경우

IE 버전에 따라 NaN 이 노출됨


1. 기본은 ISO-8601 (https://ko.wikipedia.org/wiki/ISO_8601) 스펙에 따라 YYYY-MM-DDThh:mm:ssZ 이렇게 날짜와 시간 사이에 'T' , UTC일 경우 마지막에 'Z' 를 넣는 것을 기본으로 함


2. IE8 이하에서는 YYYY-MM-DD 패턴은 인식하지 못함. new Date(2016, 0, 31, 0, 0, 0); 와 같이 구현. 또는 YYYY/MM/DD 로 변경 (꼼수)


3. date-fns/parse 활용하면 좋다. 대충 넣으면 알아서 parsing 해준다. https://date-fns.org/docs/parse