我看到了按日(例如每周二和周四)重复模式的错误行为。
假设我有一个活动从太平洋时间 3 月 12 日星期四晚上 9 点(2100 小时)开始,每周二和周四重复。太平洋时间是UTC-0700
,因此该活动的 UTC 开始日期为 0400h,即次日 3/13--4am。
当我的重复生成时,它们采用原始事件的开始时间,而不是日期。所以我的重复是在周二和周四的 0400h 生成的,这意味着周一和周三的 9p PT。
我尝试在本地(太平洋)时间创建事件并指定 a TZ-ID
,但它似乎没有帮助。
有没有办法解决这个问题?我不想试图推断是否会出现问题并即时重写重复模式,因为 A) 似乎很容易出错,并且 B) 将使编辑重复模式的界面也非常具有挑战性。
编辑:
考虑这个规则:
DTSTART:20200411T013000Z
RRULE:FREQ=WEEKLY;UNTIL=20200501T030000Z;BYDAY=FR
它创建于 4 月 10 日星期五太平洋时间下午 6:30 开始,并在每个星期五重复。
当转换为 UTC 时,这意味着它的开始日期为 4 月 11 日凌晨 1:30。
问题在于,这BY_DAY=FR
迫使所有子事件在星期五开始创建,开始时间为 1:30a,这意味着它们从星期四晚上山区时间开始。
我认为这不是代码问题,我认为这是BY_DAY
在开始时间在 UTC 午夜之后导致问题的重复规则问题。
另请注意,这是一个示例。显然,在这种情况下,该BY_DAY
字段不是必需的。但如果我想让它在周三和周五重复,我会需要它,这就是我遇到问题的地方。