Safari(ios) new Date 객체 생성 이슈

DEVHIMCHAN
브라우저 호환성

Safari(ios) new Date 객체 생성 이슈

웹 프로젝트에서 서버와 통신 시 전달받은 YYYY.MM.DD 날짜를 new Date를 통해 Date 객체로 변환할 필요가 있었다. 습관처럼 아래 형식으로 Date 객체를 만들었고, chrome 개발 환경에서 정상 동작했다.
const formattedDate = new Date("2025.07.31");
하지만 Flutter로 웹 프로젝트를 앱 패키징하여, ios 앱에서 safari로 실행할 때 formattedDate가 Invalid Date가 되는 에러가 발생했다. 원인은 ios safari는 '.' 으로 연결된 날짜는 Date 객체로 바꿔주지 않는 스펙 차이로 발생한 것이었다. (chrome에서는 YYYY.MM.DD 같은 string도 Date 객체로 잘 생성해준다.) 해결
const formattedDate = new Date("2025.07.31"?.replaceAll(".", "-"));
지금까지 시간은 TZ 포맷으로 서버와 통신해서 겪지 못했던 이슈라 신기해서 기록해둔다.