dayjs.tz() 사용시 주의점: timezone 등록 (Android Hermes)

  • by

react native에서 날짜 관련 코드를 다룰 때 dayjs 라이브러리를 사용하고 있습니다.

등록되지 않은 시간대

한국시간에 고정시켜 주고 싶어서 다음의 코드를 사용했지만,

import dayjs from 'dayjs';
import DayJSUtc from 'dayjs/plugin/utc';
import DayJSTimezone from 'dayjs/plugin/timezone';
dayjs.extend(DayJSUtc);
dayjs.extend(DayJSTimezone);

const time = dayjs.tz("2023-02-17 09:00:00", "Asia/Seoul");
RangeError: com.facebook.hermes.intl.JSRangeErrorException: Invalid timezone name!

이러한 오류가 발생했습니다.

-> 관련 문제의 모든 솔루션을 시도했지만 .. 실패. Android Hermes 엔진에서는 제대로 작동하지 않는 것 같다.

-> 공식 문서에서 해결되었습니다!


-> 여기를 보면, polyfill을 이용해 타임 존 리스트를 등록해 둔다는 것이다.

require('date-time-format-timezone'); // polyfill is ready

이 코드만 추가하면 오류가 사라집니다!