如何在本月第一个星期六之前的星期五编写 ICS 文件?

How can I write an ICS file for the Friday before the first Saturday of the month?

我看过 but I've got a rather complex recurrence and can't figure out a rule after looking at the syntax 个 RRULE。

我想要一个发生在每个月第一个星期六之前的星期五的事件。这个 第一个星期六之前的星期五 当然可能在上个月。我假设如果我能让它工作,星期五-第二-星期六之前-第三-[=类似(但不相同)的事件31=] 和 -fourth-,第 5 个星期六之前的星期五未定义。

显然我有 RRULE:FREQ=MONTHLY;BYDAY=FR; 但如果我尝试使用 BYMONTHDAY 来遵循一些示例,我 运行 会遇到麻烦:28 将是一个有效的 Friday-before-a-first-Saturday 在二月份,但在任何其他月份,28 号星期五将是 5 星期六之前的星期五。 29(在闰年),3031.

同样

目标是将其包含在 Google 日历中,我知道它支持显示它无法编辑的 ICS RRULE。那么,假设有可能,我如何为这个事件创建一个 RRULE?我考虑了每个月长度的单独事件和伴随规则。 31:1 月、3 月、5 月、7 月、8 月、10 月、12 月和 30:4 月、6 月、9 月、11 月都可以,但闰年仍然是一个问题:2 月 28 日可能是第一个星期六之前的星期五或第 5 个星期六(例如 2020 年,所以我的前两个案例中有一个失败了)。

你在正确的轨道上必须使用 BYDAY=FR,并且因为你可以做负 BYMONTHDAY,下面应该可以解决问题:

RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=-1,1,2,3,4,5,6