【问题标题】:iCal feed all day events blank out entire dayiCal 提要全天事件一整天都空白
【发布时间】:2014-12-02 14:20:49
【问题描述】:

我正在使用一个非常旧版本的 Telerik RadScheduler,它将约会导出到 ics 文件,以便将它们提供给 iPhone。

这是telerik代码:

 TimeZoneInfo localZone = TimeZoneInfo.Local;
 TimeSpan ts = localZone.BaseUtcOffset;
 return RadScheduler.ExportToICalendar(scheduler.Appointments, ts);`

我的服务器使用 GMT,我的 iPhone 使用 NZDT (+13),我的约会存储在 UTC。

我有一些全天约会,从 NZDT 时间午夜到午夜。他们是这样导出的:

 BEGIN:VEVENT DTSTART:20141205T110000Z 
 DTEND:20141206T110000Z
 UID:20141202T140355Z-907 
 DTSTAMP:20141202T140355Z SUMMARY: Day Off
 DESCRIPTION:Own Day END:VEVENT

当它们在 iPhone 上显示时,它们不会显示为全天事件,它们只是将整个一天的午夜到午夜空白作为约会。

如果错了,我很愿意自己重写,但我不知道应该是什么。我在 google 上搜索了 iCal 全天活动的示例,但找不到任何合适的文档(可能找错了地方),而且我发现的内容似乎不一致。

我想知道的是,这与时区有关还是输出不正确? 全天事件的开始和结束时间应该是什么,或者是否需要添加“全天事件”的键?

【问题讨论】:

    标签: ios asp.net telerik icalendar rfc5545


    【解决方案1】:

    不是 100% 确定 iOS 如何实现它,但 RFC5545 3.6.1说:

    [...]“DTEND”属性 对于“VEVENT”日历组件,指定非包含端 的事件。对于“VEVENT”日历组件的情况 指定具有 DATE 值类型但没有的“DTSTART”属性 “DTEND”或“DURATION”属性,事件的持续时间被带到 有一天。[...]

    所以在您的情况下,您应该尝试删除 DTEND 属性。

    【讨论】:

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