Как я могу написать файл ICS для пятницы до первой субботы месяца? - PullRequest
0 голосов
/ 01 октября 2018

Я видел Как можно записать файл ICS для повторяющегося события? , но у меня довольно сложное повторение и я не могу выяснить правило после просмотра синтаксиса РУБЛЕЙ.

Я хочу, чтобы событие происходило в пятницу, предшествующую первой субботе каждого месяца.Это пятница до первой субботы , конечно, может быть в предыдущем месяце.Я предполагаю, что если я смогу заставить это работать, аналогичные (но не идентичные) события для пятница до второй субботы и -third- и -четвертое - , с пятницей до 5-й субботы не определено.

Очевидно, у меня будет RRULE:FREQ=MONTHLY;BYDAY=FR;, но если я попытаюсь следовать некоторым примерам, используя BYMONTHDAY, я столкнусь с проблемой: 28 будетбыть действительным пятница до первой субботы в феврале, но в любом другом месяце пятница 28-го числа будет пятницей до 5 субботы.Аналогично для 29 (в високосный год), * ​​1025 * и 31.

Цель состоит в том, чтобы включить это в Календарь Google, который, как я знаю, поддерживает отображение ICS RRULE, которые он не может редактировать.,Итак, если это возможно, как я могу создать RRULE для этого события?Я рассмотрел отдельное событие и сопровождающее правило для каждого месяца.31: январь, март, май, июль, август, октябрь, декабрь и 30: апрель, июнь, сентябрь, ноябрь в порядке, но високосные годы все еще остаются проблемой: 28 февраля может быть пятница перед первой субботой или пятой субботой(например, 2020, так что один из моих первых двух случаев не удался).

1 Ответ

0 голосов
/ 02 октября 2018

Вы на правильном пути с необходимостью использовать BYDAY = FR, и, поскольку вы можете сделать отрицательный BYMONTHDAY, нужно сделать следующее:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...