rrule: использование TZID без доступного Luxon не поддерживается

#node.js #rrule #luxon

#node.js #rrule #luxon

Вопрос:

У меня очень простой проект, использующий rrule пакет:

 npm init -f
npm i rrule
  

index.js файл:

 import { RRule, RRuleSet, rrulestr } from 'rrule';

const rule = RRule.fromString(
  "DTSTART;TZID=America/Denver:20181101T190000;n"
    "RRULE:FREQ=WEEKLY;BYDAY=MO,WE,TH;INTERVAL=1;COUNT=3"
)
rule.all();
  

Тем не менее, это выдает следующее сообщение три раза:

 Using TZID without Luxon available is unsupported. Returned times are in UTC, not the requested time zone
  

Почему это не работает? Я вижу luxon , что это связано с зависимостями node_modules/luxon пакета. Я тоже пытался установить luxon в свой собственный пакет ( npm i luxon ), но безуспешно. Чего мне не хватает?

Комментарии:

1. Я решил это с yarn upgrade rrule помощью обновления моего rrule node_module до новейшей версии

Ответ №1:

Похоже, проблема началась с версии 2.6.6. Временным решением было бы установить версию, которая работает. Я сделал npm i rrule@2.6.4 .

Комментарии:

1. Для меня это выглядит правильно, хотя я решил это с помощью (new Date().getTimezoneOffset() . У меня нет кода под рукой, но как только я это сделаю, я добавлю это в качестве комментария для тех, кто может быть привязан к версии