자바스크립트

사파리 new Date('yyyy.MM.dd') 이슈

하늘을난모기 2021. 11. 1. 14:27

크롬에서 new Date('yyyy.MM.dd')를 사용하면 정상적으로 동작한다.

사파리에서 new Date('yyyy.MM.dd')로 만들면 invalidDate가 발생한다.

크롬과 사파리의 브라우저 렌더링 엔진이 조금 달라서 그런듯하다.

 

new Date('yyyy-MM-dd')로 만들면 해결할 수 있다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date

 

Date() constructor - JavaScript | MDN

Creates a JavaScript Date instance that represents a single moment in time in a platform-independent format.Date objects contain a Number that represents milliseconds since 1 January 1970 UTC.

developer.mozilla.org

MDN 문서를 보면 

A string value representing a date, specified in a format recognized by the Date.parse() method. (These formats are IETF-compliant RFC 2822 timestamps, and also strings in a version of ISO8601.)

RFC 2822이나 ISO8601에 해당하는 포맷만 가능하다고 나와있다.

공식적으로는 위 두 포맷에 해당해서만 지원되며, 브라우저마다 추가로 몇 가지 포맷이 더 지원된다고 생각하면 된다.