2011-05-18 49 views
1

我有一个重复的UTC指定的iCal事件。一切似乎都输出正确,但iCal客户端是flailing:重复模式是M,W,F但开始日期(翻译为UTC)是一个星期二。iCal事件重复设置为M,W,F - 显示为S,T,R!

被错误地计算的重复图案是S,T,R。

这是不正常的的iCal输出:

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:00 PST开始6月20日。该日历正确地将其转换为UTC时间6月21日凌晨1点。它重复M,W,F一个月。然而,它似乎完全摒弃了谷歌日历和苹果iCal对重复事件的计算。

的第一个事件是显示了在星期一,但第二个是在星期二,第三星期四,并从那时起它的S,T,R的重复图案,直到结束。

这是一个错误的iCal?这是我的iCal创建者(Drupal的Views iCal)输出错误吗?

更新:好吧,很多人都导入了它,它适用于除苹果iCal和雷鸟闪电以外的所有情况。

这是因为进口的客户是(我相信)在全球范围划定范围的时区和一次性转移的一切,正确。

但是,如果你订阅它与GCal,它单独范围的每个事件的时间和kerplewey,显示我上面描述的行为。

UPDAT-IER

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

+0

我测试过您的具体例子在我自己的iCalendar发动机,在Outlook 2003中,并在谷歌日历。我无法复制你的问题;在所有情况下,它似乎重复周一,周三和周五。我的心理能力建议你仔细检查你当前计算机的时区(如果有帮助,我在EST中)。否则,祝你好运! – 2011-05-18 20:19:17

+0

哈哈,好的,谢谢克里斯,很好的验证它是我的谁疯了,而不是其他人=)我在PST,我有一个用户报告它,我可以复制它在我的Google日历和我的本地iCal客户端。所以嗯...我会玩指定TZs,看看我是否可以散发更多光芒。谢谢! – Renee 2011-05-18 20:34:26

+0

一位朋友证实,这对他们在GCals中有效,但不在苹果的iCal中。威尔德和威尔德! – Renee 2011-05-18 20:49:08

回答

0

的iCal的文件是错误的。

出于某种原因,某些客户端可以处理错误,而其他客户端则不能,但UTC中指定的事件实际上应该指定每个T,R,S(在UTC上午1:00)的重复周期,并且“好”的客户根据当地的TZ将这个回归为M,W,F。

输出是基于重复输入(M,W,F)而不是转换为UTC时间的本地时区计算重复天数。

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

1

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

确保它设置为你使用输入日期的任何时区。上述

+0

所有其他重复事件都显示正常,这不是TZ问题 - 我希望它们在UTC并且时间正确。只有那些开始日期将其推到UTC的另一天。看起来日历应用程序正在通过计算重复日期d-1将事件放入其自己的TZ时“调整”UTC(因此而不是M,W ,F是S,T,R)。 我需要知道的是,如果Drupal将错误地重复发布,格式化(当我查看iCal规范时看起来不错),如果是这样,它应该如何输出?如果你将上面的内容导入你的iCal客户端,你会明白我的意思。 – Renee 2011-05-18 20:29:26

相关问题