创建 iCal 可用的全天事件

我想知道如何创建一个全天事件。我尝试创建一个事件并省略日期/时间部分,如下所示:

[event start="2023-03-20" status="public" name="My Event" end="2023-03-23" allowedGroups="trust_level_0"]

但是,当我尝试将此事件添加到我的日历(即 iCal 导出)时,我会得到一个如下所示的 iCal 文件:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Discourse//EN
BEGIN:VEVENT
UID:1679270400000_1679529600000
DTSTAMP:20230121T192236Z
DTSTART:20230320T000000Z
DTEND:20230323T000000Z
SUMMARY:My Event
END:VEVENT
END:VCALENDAR

Outlook 不将此类事件识别为全天事件。当我自行编辑 iCal 文件时,可以通过将开始和结束时间戳更改为仅日期值来实现:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Discourse//EN
BEGIN:VEVENT
UID:1679270400000_1679529600000
DTSTAMP:20230121T192236Z
DTSTART;VALUE=DATE:20230320
DTEND;VALUE=DATE:20230323
SUMMARY:My Event
END:VEVENT
END:VCALENDAR

是否可以创建一个事件,使其自动被日历软件视为全天事件?

你好!

全天活动的时间范围是从午夜到午夜。在详情中,仅发生在 2 月 13 日(周五) 的活动会显示为两天:2 月 13 日(周五)→ 2 月 14 日(周六)

我可能会处理这个问题,但不会很快。

复现步骤:

  1. 创建一个从午夜到午夜的全天活动
  2. 打开帖子时显示的日期会列出两天

预期结果:
日期应仅显示活动当天。

3 个赞

我认为这与以下问题相同:

解决方法是不将时间添加到事件的开始或结束时间。

1 个赞

该漏洞同时影响个人日历和“将事件添加到 Google 日历”按钮。

我已在下方链接的插件中修复了此问题。

希望团队能够采纳这些更改 :folded_hands:

1 个赞

@here 应该可以通过以下 PR 修复:

3 个赞

刚刚合并了这些,但结果有点乱,抱歉。至少这个长期存在的 bug 现在解决了(我也注意到了,但一直没来得及报告)。

1 个赞