每个月的第 5 天(如果是周末或假期,则为第 4/3 天)使用 iCal 进行活动
Event every 5th day of mont (or 4th/3rd if it's weekend or holiday) using iCal
在巴西,我的发薪日是每个月的第 5 天。
但如果第 5 天是 saturday/sunday,则付款将在第 4 天发生。
如果第 4 天是 saturday/sunday:则付款将在第 3 天发生。等等。
有什么方法可以创建可与 Google 日历和 iCal 一起使用的活动吗?
您可以使用 iCalendar 实现这一点,至少就周末而言。
考虑以下规则:
DTSTART;TZID=US-Eastern:20160505T000000
RRULE:FREQ=MONTHLY;BYMONTHDAY=1,2,3,4,5;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
规则评估如下:
FREQ=MONTHLY;BYMONTHDAY=1,2,3,4,5
:扩展到每个月的第1、2、3、4、5天
BYDAY=MO,TU,WE,TH,FR
:按工作日过滤,仅保留工作days/remove周末
BYSETPOS=-1
:只保留集合的最后一天
您可以在 http://recurrence-expansion-service.appspot.com/
验证结果
虽然节假日不可能实现这一点。
更新:
实际上指定
就足够了
RRULE:FREQ=MONTHLY;BYMONTHDAY=3,4,5;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
由于周末最多有 2 天,发薪日必须在每月的第 3、4 或 5 天中的一天。同样,这没有考虑假期。
假期总是需要特别考虑。 RRULE
不仅不支持任意日期的这种逻辑,有时很难甚至不可能通过 RRULE 本身来表达假期。在某些国家/地区,某些假期总是在特定的一天,除非这些天是周末,在这种情况下,假期是在周末之前的星期五或之后的星期一。或者考虑复活节日期和相对于复活节日期的假期,它们根本不能用 RRULE 表示。
不要忘记某些假期可能会不时更改(例如某些国家/地区的 "King's days" 或 "Queen's days")。
您可以做的最好的事情是手动管理这些并添加一个 RDATE 和一个 EXDATE,如果发薪日根据上面的 RRULE 适逢假期。
在巴西,我的发薪日是每个月的第 5 天。
但如果第 5 天是 saturday/sunday,则付款将在第 4 天发生。
如果第 4 天是 saturday/sunday:则付款将在第 3 天发生。等等。
有什么方法可以创建可与 Google 日历和 iCal 一起使用的活动吗?
您可以使用 iCalendar 实现这一点,至少就周末而言。
考虑以下规则:
DTSTART;TZID=US-Eastern:20160505T000000
RRULE:FREQ=MONTHLY;BYMONTHDAY=1,2,3,4,5;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
规则评估如下:
FREQ=MONTHLY;BYMONTHDAY=1,2,3,4,5
:扩展到每个月的第1、2、3、4、5天BYDAY=MO,TU,WE,TH,FR
:按工作日过滤,仅保留工作days/remove周末BYSETPOS=-1
:只保留集合的最后一天
您可以在 http://recurrence-expansion-service.appspot.com/
验证结果虽然节假日不可能实现这一点。
更新:
实际上指定
就足够了RRULE:FREQ=MONTHLY;BYMONTHDAY=3,4,5;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
由于周末最多有 2 天,发薪日必须在每月的第 3、4 或 5 天中的一天。同样,这没有考虑假期。
假期总是需要特别考虑。 RRULE
不仅不支持任意日期的这种逻辑,有时很难甚至不可能通过 RRULE 本身来表达假期。在某些国家/地区,某些假期总是在特定的一天,除非这些天是周末,在这种情况下,假期是在周末之前的星期五或之后的星期一。或者考虑复活节日期和相对于复活节日期的假期,它们根本不能用 RRULE 表示。
不要忘记某些假期可能会不时更改(例如某些国家/地区的 "King's days" 或 "Queen's days")。
您可以做的最好的事情是手动管理这些并添加一个 RDATE 和一个 EXDATE,如果发薪日根据上面的 RRULE 适逢假期。