gpt4 book ai didi

date - 如何为重复发生的事件编写 ICS 文件?

转载 作者:行者123 更新时间:2023-12-04 19:00:07 25 4
gpt4 key购买 nike

我想创建一个描述重复事件的 ICS 文件,该事件在 2016 年全年 UTC 每周一从 13:00 到 14:00 发生。 ICS 文件应该可以由 Google 日历导入。我发现很难在网上找到和了解有关如何构建此类文件的详细信息。我目前拥有的是一种创建包含单个事件列表的文件的方法,但我想为文件中定义的事件制定规则。我现在有类似的东西:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SERN//INDICO//EN
BEGIN:VEVENT
SUMMARY:Software Meeting
DTSTART;VALUE=DATE-TIME:20160818T150000Z
DTEND;VALUE=DATE-TIME:20160818T160000Z
DTSTAMP;VALUE=DATE-TIME:20160912T165700Z
UID:indico-event-563636@sern.ch
DESCRIPTION:https://indico.sern.ch/event/999999/
LOCATION:42-3-002 (SERN)
URL:https://indico.sern.ch/event/999999/
END:VEVENT
BEGIN:VEVENT
SUMMARY:Software Meeting
DTSTART;VALUE=DATE-TIME:20160825T150000Z
DTEND;VALUE=DATE-TIME:20160825T160000Z
DTSTAMP;VALUE=DATE-TIME:20160912T165700Z
UID:indico-event-565483@sern.ch
DESCRIPTION:https://indico.sern.ch/event/999999/
LOCATION:42-3-002 (SERN)
URL:https://indico.sern.ch/event/999999/
END:VEVENT
END:VCALENDAR

编辑:关注 the solutionzcontent 提供,我编写了以下 ICS 文件,似乎可以成功运行:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SERN//INDICO//EN
BEGIN:VEVENT
SUMMARY:Software Meeting
TZID:Europe/Zurich
DTSTART:20150202T170000
DTEND:20150202T180000
DTSTAMP:20150202T170000
RRULE:FREQ=WEEKLY;UNTIL=20380119T000000
UID:indico-event-565483@sern.ch
DESCRIPTION:https://indico.sern.ch/event/999999/
LOCATION:42-3-002 (SERN)
URL:https://indico.sern.ch/event/999999/
END:VEVENT
END:VCALENDAR

最佳答案

您需要向事件添加 RRULE 属性。对于 2016 年重复的星期一事件,您需要在您的事件中有这样的台词:

DTSTART:20160104T130000Z

DTEND:20160104T140000Z

RRULE:FREQ=WEEKLY;UNTIL=20170101T000000Z

您可以在此处找到有关 RRULE 语法的详细信息:
http://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html

您可能还会发现在测试期间验证您的 icalendar 提要很有用,以确保 Google 日历不会出现问题。这是一个有用的验证工具:
http://icalendar.org/validator.html

免责声明:我认为 icalendar 验证器工具是互联网上最好的,但我也写了 :-)

关于date - 如何为重复发生的事件编写 ICS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39455376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com