iCal事件重复设置为M,W,F - 显示为S,T,R!

时间:2011-05-18 20:04:58

标签: drupal date icalendar rrule

我在UTC中指定了带有重复的iCal事件。一切似乎输出正常,但iCal客户端正在肆虐:重复模式是M,W,F但开始日期(翻译为UTC)是星期二。

错误计算的重复模式是S,T,R。

这是无法正常工作的输出:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
X-WR-CALNAME: Room ICCS008
PRODID:-//Drupal iCal API//EN
BEGIN:VEVENT
UID:calendar.18861.field_date.0.8
SUMMARY:CPSC 210 L2C
DTSTAMP:20110518T123628Z
DTSTART:20110621T010000Z
DTEND:20110621T033000Z
RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE,FR;UNTIL=20110730T033000Z
URL;VALUE=URI:https://localhost/event/2011/06/cpsc-210-l2c
END:VEVENT
END:VCALENDAR

该活动应于6月20日太平洋标准时间下午6点开始。该日历正确地将其转换为6月21日凌晨1点为UTC。它重复M,W,F一个月。然而,似乎完全放弃了Google Calendar和Apple iCal对重复事件的计算。

第一个事件是在星期一出现,但第二个是周二,第三个星期四,从那时起它是S,T,R的重复模式直到结束。

这是一个iCal错误吗?我的iCal创建者(Drupal的观点iCal)输出的内容是否错误?

更新:好的,很多人已经导入了这个,除了Apple iCal和Thunderbird Lightning外,它适用于所有情况。

这是因为在导入客户端(我相信)全球范围内确定时区并正确地将所有内容一次性转移。

但是,如果您使用GCal 订阅,它会单独调整每个事件的时间范围,并且显示我上面描述的行为。

UPDAT-IER

iCal文件本身是错误的 - 由于某种原因,某些客户端可以处理错误而其他客户端不能,但UTC中指定的事件实际上是在凌晨1点重复每个T,R,S,并且“好” “客户根据当地的TZ改回来。 iCal创建过程基于本地时区而不是转换为UTC-1来计算重复天数。这是Drupal iCal实现中的一个错误。

2 个答案:

答案 0 :(得分:1)

检查您的CCK日期字段。它是设置为UTC,站点时区还是用户时区?

确保将其设置为您用于输入日期的时区。

答案 1 :(得分:0)

上面的iCal文件错误。

由于某些原因,某些客户可以处理错误而其他客户不能,但UTC中指定的事件应该实际指定每个T,R,S(格林威治标准时间凌晨1点)的重复周期,以及“好的“客户根据当地的TZ将其转回M,W,F。

输出正在根据输入重复的本地时区(M,W,F)计算重复天数,而不是转换为UTC-1。

所以...到了drupal.stackexchange.com =)