safari , 아이폰에서 new Date() 사용시 Invalid Date error

Yuri Lee·2022년 4월 20일
0

Intro

추가 개발 건으로 차트 뷰 개발을 진행했어야 했다. 참고로 해당 프로젝트의 경우 모바일 웹앱을 리액트 네이티브로 감싸 배포하고 있고, 크롬에서 차트 뷰가 잘 나오는 것을 확인한 후 배포했다. 이후 실제 디바이스를 통해 확인해봤는데, 이게 왠걸..?! 안드로이드 폰에서는 정상 작동했지만 아이폰에서 작동되지 않았다..!😱

Why?

크롬에서는 잘 보이지만 왜 사파리에서는 보이지 않았을까? 알고보니 차트 데이터를 가져오는 date 로직에서 사파리는 Invalid Date 에러를 발생시키고 있었다.

알고보니 yyyy-mm-dd은 Date 객체에서 공식적으로 지원하는 방법이 아니라고 한다. safari에서는 yyyy-mm-dd 인 String 타입을 지원하지 않는다고..!

How to solve

  1. new Date(year, month, day, hour, min, sec) 활용
  2. moment.js 라이브러리 활용
  3. 정규식 활용

여러 방법이 있지만, 그중에서도 moment.js 라이브러리 활용하여 에러를 해결했다.

Conclusion

전에 IE 브라우저 환경에서 또한 작업 가능하도록 개발했적이 있는데, 그때의 기록이 새록 새록 떠올랐다. safari 너란 녀석.. 💬


https://tom-dlog.tistory.com/entry/JS-Safari%EC%97%90%EC%84%9C-new-Date-%EA%B0%9D%EC%B2%B4-Invalid-Date-%EB%A6%AC%ED%84%B4-%EB%B0%9B%EB%8A%94-%EA%B2%BD%EC%9A%B0
https://s-yeonjuu.tistory.com/5
https://velog.io/@yeoj1n/safari-%EC%97%90%EC%84%9C-new-Date-%EC%82%AC%EC%9A%A9%EC%8B%9C-Invalid-Date-%ED%98%84%EC%83%81

profile
Step by step goes a long way ✨

0개의 댓글