Development

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

안다희 2023. 2. 17. 19:42
728x90

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

 

등록되지 않은 timezone

한국 시간으로 고정시켜주고 싶어서 다음 코드를 사용했는데, 

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

이 코드만 추가해주면, 에러가 사라진다!

 

출처: https://mingos-habitat.tistory.com/34 [밍고의서식지:티스토리]