Я строил календарь в react-native и заметил что-то странное
Когда я запускаю это на iOS
console.log(
rrulestr('FREQ=DAILY;DTSTART=20180416T070000Z;INTERVAL=2;WKST=MO')
.between(
new Date("2018-10-24T22:00:00.000Z"),
new Date("2018-11-03T00:00:00.000Z")
)
)
Я получил следующее:
Array [
2018-10-25T07:00:00.000Z,
2018-10-27T07:00:00.000Z, <--
2018-10-28T08:00:00.000Z, <--
2018-10-30T08:00:00.000Z,
2018-11-02T08:00:00.000Z,
]
Когда я запускаю его в консоли по адресу https://jakubroztocil.github.io/rrule/
я получил более правильный результат:
Array [
2018-10-25T07:00:00.000Z,
2018-10-27T07:00:00.000Z, <--
2018-10-29T08:00:00.000Z, <--
2018-10-31T08:00:00.000Z,
2018-11-02T08:00:00.000Z,
]
Я использую rrule v2.2.9
все остальное выглядело правильно с 2018-04-16 до этого момента
Даже запустите это на игровой площадке npm: https://runkit.com/embed/1lgceq9e7rm0
Думаю, это может быть связано с https://github.com/jakubroztocil/rrule/issues/157.
использование @ 2.2.0 вместо @ 2.2.8 работает
Мы также столкнулись с этой проблемой. Проблема, по-видимому, вызвана переходом на летнее время в ноябре. У нас тоже сработало понижение до @2.2.0 с @2.2.9.
У меня также были неправильные даты с @ 2.2.9. При настройке частоты на неделю и дня недели на четверг я получил даты, которые были по средам! Возвращение к @ 2.2.0 у меня сработало.
Я в GMT+2 (Средняя Европа, летнее время)
Здесь же, часовой пояс GMT+3(летнее время Киев/Украина)
То же правило: FREQ=WEEKLY;BYDAY=FR;DTSTART=20180713T060000Z;UNTIL=20180727T060000Z.
возвращает разные результаты в Firefox и Chrome, где Chrome, похоже, принимает BYDAY=BYDDAY-1
Откат с 2.2.9 на 2.2.0 устраняет проблему
@jimmywarting @chrishanyu @scoutkirkolson @pzhuk Кажется , это было исправлено в версии 2.3.3. Пожалуйста, снова откройте, если у вас по-прежнему возникают какие-либо проблемы.
Мы столкнулись с этой проблемой, и возврат к версии 2.2.0 устранил ее.
Самый полезный комментарий
использование @ 2.2.0 вместо @ 2.2.8 работает