safari에서 new Date()
😡 이슈
Datepicker(JQuery UI)를 사용하여 개발하던 중 Android에서는 문제가 없었으나 ios에서 캘린더 내 날짜가 클릭되지 않는 오류(크로스 브라우징 이슈)가 발생하였다.
🤪 원인
1 | var start_date = new Date("2021-08-19 10:00:00"); |
위의 Date객체에서 꼬여버려 날짜계산을 못해 캘린더에 날짜 출력이나 클릭이 되지 않았던 것.
ES5 Spec에는 추가가 되었으나 safari에서는 “yyyy-mm-dd”형식의 String타입을 지원하지 않는다고 한다.
😇 해결
1 | var date_string = "2021-08-19 10:00:00"; |
정규식을 사용하여 “yyyy-mm-dd”의 포맷을 “yyyy/mm/dd”로 변경하여 해결하였다.