【问题标题】:how to set event duration in ekevent in icalender?如何在 icalender 的 ekevent 中设置事件持续时间?
【发布时间】:2013-10-02 04:06:33
【问题描述】:

我在 iCalendar 中创建了活动。它的开始日期是今天,结束日期是下个月 15 日。这是事件的重复类型。因此,如果将事件设置为重复事件,则将结束日期更改为与重复结束日期相同。我想给出事件的持续时间,比如下午 3.30 到下午 6.30。我如何设置事件持续时间....

 "DTSTART;TZID=US-Eastern:19970105T083000 
RRULE:FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU;BYHOUR=8,9; BYMINUTE=30

首先,“INTERVAL=2”将应用于“FREQ=YEARLY”以得出“每隔一年”。

然后,“BYMONTH=1”将应用于“每年一月,每隔一年”。

然后,“BYDAY=SU”将应用于“1 月的每个星期日,每隔一年”。

然后,“BYHOUR=8,9”将应用于“1 月的每个星期日早上 8 点和 9 点,每隔一年”。

然后,“BYMINUTE=30”将应用于“1 月的每个星期日上午 8:30 和 9:30,每隔一年”到达。

然后,由于缺少来自 RRULE 的信息,第二个来自 DTSTART,以“1 月的每个星期日上午 8:30:00 和上午 9:30:00,每隔一年”结束。

类似地,如果缺少 BYMINUTE、BYHOUR、BYDAY、BYMONTHDAY 或 BYMONTH 规则部分,则会从“DTSTART”属性中检索到相应的分钟、小时、日或月。”

请任何人指导我如何设置... 我知道重复规则如何起作用,但我的问题是如何设置事件持续时间。

【问题讨论】:

    标签: iphone ios icalendar ekevent ekeventkit


    【解决方案1】:

    据我所知,没有客户端支持 BYMINUTE 和 BYHOUR,因此除非此事件是供您自己的应用程序使用的,否则您是在自找麻烦。在任何情况下,无论您在 BYMINUTE 和 BYHOUR 中输入了什么内容,第一个实例都会使用 DTSTART 值作为开始(请参阅https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.3

    然后你可以使用 DTEND 或 DURATION:

    DTSTART;TZID=美国东部:19970105T083000 DTEND;TZID=美国东部:19970105T153000

    DTSTART;TZID=美国东部:19970105T083000 持续时间:PT7H

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多