У меня есть повторяющееся событие календаря 1-го числа каждого месяца, когда 1-й падает на Sat/Sun, возможно ли iCal запланировать его за последний рабочий день?Повторяющееся событие календаря в начале месяца
ответ
Я предполагаю, что вы имеете в виду «последний рабочий день в пятницу предыдущего месяца», и в этом случае я не думаю, что это возможно. Это означало бы, что в течение нескольких месяцев есть два случая, когда у других есть 0, что на самом деле не работает.
Вы можете легко сделать первый рабочий день месяца (1-е, или в первый понедельник):
FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=1
Или вы могли бы сделать всегда последний рабочий день месяца:
FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
Если я вас правильно понял следующее RRULE следует сделать трюк:
FREQ=MONTHLY;BYDAY=1MO,1TU,1WE,1TH,1FR,-1FR;BYMONTHDAY=1,-1,-2
Это в основном делает две вещи:
- итерируем первый будний день, приходящийся на 1-й день месяца
- итерация последняя пятница каждого месяца, который падает на последний или второй последний день месяца (в случае чего 1-й из следующего месяца приходится на субботу или воскресенье).
Несколько более короткая версия, которая должна привести к тем же результатам является
FREQ=MONTHLY;BYDAY=1MO,1TU,1WE,1TH,FR;BYMONTHDAY=1,-1,-2
Это просто перебирает каждую пятницу, но только сохраняет те, которые попадают на первый, последний и 2-й последний день каждого месяца. Хотя похоже, что служба повторного расширения выше не согласна. Вероятно, это ошибка.
Это один очень умный рулет, молодец! – rlanvin
Сценарий 1 - это то, что мне нужно I.e. в некоторых месяцах есть 2 случая, в то время как в других нет. – George