iCalendar文件每天创建多个条目

iCalendar文件每天创建多个条目,icalendar,Icalendar,我有一个脚本,它创建了一个ICS文件(icaleander),该文件后来被移动设备使用。 如果事件设置为每天重复两个日期,则文件每天生成7个条目 我可以复制下面的文件的问题,只需将其导入谷歌日历(将其附加到电子邮件,发送到我的gmail帐户,然后按add to calendar) 但我不知道为什么它会创建多个条目,我尝试过调整其中的一些条目,结果却得到了一个无效的文件 这是我的测试文件 BEGIN:VCALENDAR PRODID:-//Test Productions //Test Event

我有一个脚本,它创建了一个ICS文件(icaleander),该文件后来被移动设备使用。 如果事件设置为每天重复两个日期,则文件每天生成7个条目

我可以复制下面的文件的问题,只需将其导入谷歌日历(将其附加到电子邮件,发送到我的gmail帐户,然后按add to calendar)

但我不知道为什么它会创建多个条目,我尝试过调整其中的一些条目,结果却得到了一个无效的文件

这是我的测试文件

BEGIN:VCALENDAR
PRODID:-//Test Productions //Test Event//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
SUMMARY:Test Event
DESCRIPTION:Description of Test Event
DTSTART:20140825T100000Z
DTEND:20140831T110000Z
RRULE:FREQ=DAILY;UNTIL=20141231T060000Z
LOCATION:Planer Earth
CLASS:PUBLIC
BEGIN:VALARM
TRIGGER:-PT1H
ACTION:EMAIL
END:VALARM
END:VEVENT
END:VCALENDAR
偶然发现了答案:

如果指定
RRULE:FREQ=DAILY;直到=20141231T060000Z


您不应该包括
DTEND:20140831T110000Z
条目

问题实际上是持续时间为几天零1小时(可能您只需要1小时?) DTSTART:201408**25**T100000Z 数据终端:201408**31**T110000Z


因此,几天后,您将同时运行多个事件,直到它们开始结束。。。在最后一个事件的最后一次重复之前,只有一个事件一直在运行。

Eli,可以而且通常应该使用DTEND-它可以帮助说明事件的持续时间。这与重复的结尾不同。请删除/更正您的答案。这可能会误导访问此线程的其他人:
DTEND
可以包含在
VEVENT
中,即使使用
RRULE
也可以参见RFC5545第3.6.1节。更多细节。