본문 바로가기
notion/react_info

javascript firefox 에서 날짜가 에러가 나는 경우

by 서수이 서수이 2021. 2. 4.
반응형

firefox 에서 날짜와 dayjs 가 오류가 나는 경우

Front 개발시 날짜 관련 npm 중에서는 dayjs package를 자주 사용하게 된다.

개인적으로 moment 보단 훨씬 가볍고 사용법도 간편하여 자주 쓸 수 밖에 없다.

하지만 개발을 chrome 에서만 하다보니 firefox 에서 날짜가 NaN 이나 invalid date 에러가 나는 줄 몰랐다.

대략적으로 내용을 찾아보다보니 chromefirefox가 날짜의 형태가 달라서 에러가 나오는 것라고 한다.

또한 이건 dayjs 의 문제가 아닌 new Date() 를 사용 했을 때, 나오는 날짜의 값이 ChromeFirefox가 다르다는 것이다.

예를 들어
2013-08-08 11:52:18 UTC의 date 형태를 2013-08-08T11 : 52 : 18Z 로 변환을 해야지 Firefox에 맞는 형태가 된다는 것 같다.

모든 브라우저에서 사용을 하는 방법으로는 형태를 변경하는 방식으로 아래와 같이 할 수 있었다.

stackoverflow 답변 링크

var str = '02-24-2014 09:22:21 AM';

str = str.replace(/-/g,'/');  // replaces all occurances of "-" with "/"

var dateObject = new Date(str);

alert(dateObject.toDateString());

하지만 뭔가 조금 찜찜해서 좀 더 정보를 찾아보니 dayjsCustomParseFormat 이라는게 있다.
CustomParseFormat
string+format

이 두개의 링크를 보고 stackoverflow 에서 한 답변 중에서 좋은 정보라고 생각되는 부분을 찾았다.

스택오버플로우 답변

import customParseFormat from 'dayjs/plugin/customParseFormat'
import dayjs from "dayjs"

dayjs.extend(customParseFormat)

const yourDate = dayjs('2021-02-05 12:00 AM', 'YYYY-MM-DD HH:mm A')

이걸 조금 변형해서 해보고 결과를 남겨야겟다.

정말 ... 귀찮다.. 개발시 날짜를 사용한다면 날짜를 뭔가 따로 빼놓고 하나의 함수에서 가져와서 쓸 수 있도록 해야되겟다.

그리고 서버에서는 큰 문제가 없었는데, 브라우저에서 문제라서 확실히 꼼꼼하게 테스트를 해야겟다라는 생각이 든다.

그래야 수고가..덜하지..에휴

반응형

댓글0