使用 icalendar 获取重复事件

Posted

技术标签:

【中文标题】使用 icalendar 获取重复事件【英文标题】:Get repeating events with icalendar 【发布时间】:2022-01-04 14:57:07 【问题描述】:

我使用icalendar 包来处理我下载的谷歌日历.ics 文件

我想支持定期会议,他们在.ics 文件中有这一行:RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20211224T225959Z;BYDAY=TH

我正在将所有条目解析到我的自定义条目类以进行进一步处理。我使用for entry in cal.walk() 执行此操作,并检查条目是否为VEVENT。有没有办法不手动解析 RRULE 行并为每个重复的日历条目创建新条目?

例如:我在接下来的 12 周内每周都有一些东西,我希望每周都有一个独特的条目。

我阅读了文档,但内容非常有限,浏览源代码也无济于事。

【问题讨论】:

【参考方案1】:

经过一番研究,我找到了this 包。仅使用icalendar 似乎并不容易。

【讨论】:

以上是关于使用 icalendar 获取重复事件的主要内容,如果未能解决你的问题,请参考以下文章

SharePoint 重复事件是随机的?

使用Calender类获取系统时间和时间和运算

ICS 在定期日历事件中更新这个和未来

将我系统中的事件同步到最广泛使用的日历中

Calender设置固定时间遇到的问题

pip install icalendar:找不到pytz