来自 ICal 的重复事件的 NodeJS 问题

NodeJS problem with recurring events from ICal

我正在使用此 https://www.npmjs.com/package/ical 节点模块将 ICal 文件解析为 JavaScript 对象。所以现在我想要一个函数,可以为我提供本周的所有事件。我的问题是,有重复发生的事件。我没有找到 属性 来帮助我确定循环范围何时开始和结束。 如何处理这个 ICal 重复事件?

rrule package,您可以用它创建周期性事件:

const rule = new RRule({
  freq: RRule.WEEKLY,
  interval: 5,
  byweekday: [RRule.MO, RRule.FR],
  dtstart: new Date(Date.UTC(2012, 1, 1, 10, 30)),
  until: new Date(Date.UTC(2012, 12, 31))
})

甚至解析重复规则字符串:

rrulestr('DTSTART:20120201T023000Z\nRRULE:FREQ=MONTHLY;COUNT=5')

它还有许多其他辅助功能,例如 between、before、all 等