RRule 仅在工作日重复每月日历事件

问题描述 投票:0回答:2

我每个月 7 日都有一个重复活动,但我很难找到一个可以放入文本编辑器并导入谷歌日历的 RRule。如果 7 日是周末,我需要规则将事件放在最后一个工作日。预先感谢。

calendar google-calendar-api rrule
2个回答
0
投票

不幸的是,由于回退条件,我认为仅定义 RRULE 无法实现此目的。

Google 日历中的 RRULE 遵循 RFC 5545 规范

使用 RFC 5545,关于每月重复,您可以为该月的特定日期设置重复规则(例如,始终在该月的 7 号为

RRULE:FREQ=MONTHLY;BYMONTHDAY=7
)或一个月内每周某天的特定偏移量(例如,该月倒数第二个工作日是
RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
)。

仅使用此规范,我不相信有一种方法可以参考该月的第 7 天来选择上一个(或下一个)工作日。

但是,在将日期插入 Google 日历之前,您始终可以通过使用脚本生成日期或解释已有的现有列表来实现此目的。


0
投票

虽然我来晚了,也许其他人也对此感兴趣:

RRULE:FREQ=MONTHLY;WKST=MO;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1;BYMONTHDAY=5,6,7

每月 5 日、6 日和 7 日 (BYMONTHDAY) 进行挑选,但前提是它们是工作日 (BYDAY)。每月 1-3 天的结果中,除了最后一天外,所有这些都被丢弃 (BYSETPOS)。

© www.soinside.com 2019 - 2024. All rights reserved.