问题标签 [rfc5545]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13376 浏览

date - ical 导出的格式化时间

我在 jquery 中创建了一个导出到 ical 的日历。但是,我在日期时间方面遇到了一些问题。

ical 导出脚本需要以下格式的日期/时间:19970714T170000Z。

有谁知道这是什么以及我应该如何准备我的字符串?

谢谢

0 投票
1 回答
1267 浏览

javascript - 测试日期是否与 iCalendar 重复事件匹配

我正在寻找一种iCalendar规则匹配算法,该算法将允许我验证用户输入的特定日期是否落在由 iCal 重复事件规则确定的日期。

例如:

  • 用户输入Nov 1, 2014(假设我可以解析日期)
  • ical事件的重复规则为FREQ=MONTHLY;BYMONTHDAY=1(这基本上意味着该事件发生在每个月的第一天)

很明显,2014 年 11 月 1 日确实是该事件中的某个日期。我怎样才能以编程方式解决这个问题?在给定开始日期的情况下,如何获取由重复规则确定的日期列表?

有没有这样做的示例或库?

我主要在寻找 JS 和 PHP 库/片段,但任何类型的伪代码都应该没问题。

澄清:iCalendar 指的是 RFC 5545 Internet Calendaring and Scheduling Core Object Specification

0 投票
2 回答
2153 浏览

outlook - 从 Outlook 解析 iCal:我如何判断此事件的重复计划是什么?

我正在使用 Python,但我认为这与这里无关。下面的 iCal 片段来自 Outlook 2010 导出(完整数据)。在 Outlook 中,该事件显示为重复出现,包括 2012 年 4 月 12 日的事件实例。如果您打开该系列,它会显示

重复:每周四发生,从 2012 年 3 月 29 日起,从 12:00 PM 到 12:30 PM

我的问题是:是否可以从以下信息中得出重复计划?哪些字段会给我信息?我希望找到一个 RRULE,但这里没有这样的东西。

0 投票
1 回答
198 浏览

icalendar - iCalendar (RFC5545) 年度重复规则

我怎样才能在某些选定的日子里每年发生一个事件,比如开始 45 天然后跳过 15 天,然后选择 30 天然后跳过 30 天,然后选择 30 天然后跳过 30 天,然后选择 30 天然后跳过 30 天,然后选择 30 天然后跳过 30 天,然后选择 30 天然后跳过 30 天

这是正确的程序吗?

0 投票
1 回答
3262 浏览

icalendar - iCalendar 中的 RECURRENCE-ID (RFC 5545)

我对 iCalendar 规范 RFC 5545 中的 Property RECURRENCE-ID 和此属性中的 RANGE 参数有点困惑。

假设日历组件包含一个称为“会议”的重复事件,该事件应安排在 2012 年 8 月 6 日开始的每个星期一的 10 点至 12 点。重复结束应为 2012 年 10 月 29 日。“会议”重新安排为 12 至 15 日2012 年 9 月 3 日之前的每个星期一,将 RANGE 设置为 THISANDFUTURE 以表明所有后续活动也将安排在 12 点到 15 点之间。到 2012 年 10 月 1 日,“会议”将重新安排在每个星期二(而不是星期一)的 10 点到 13 点,范围也设置为 THISANDFUTURE。此外,2012 年 9 月 17 日的单项赛事将重新安排在 8 点至 10 点。

iCalendar 格式的事件将如下所示:

我不确定的值是 RECURRENCE-ID 和 RRULES 的值。

-) 第三个和第四个事件应该使用哪个日期?他们应该参考主要事件(第一个事件)还是第二个事件,因为这是重新安排的“最近”事件?

-) 如果我对 RFC5545 的解释是正确的,则 RRULE 可能不会更改或重新安排。这意味着规则在子事件中也是相同的。最后一场活动会发生什么,原定于 2012 年 10 月 29 日 10 点至 12 点举行,但第三场活动改期至次日 10 点。这是日历组件的重复集中的最后一个事件,还是在所有事件中都更改 UNTIL 值以便包括 10 月 30 日 10 点?

提前致谢!:-)

0 投票
1 回答
985 浏览

php - PHP:PHPMailer 错误未显示

我正在使用 php mailer 发送 iCal 和一些 html 文本

这是我的代码

测试.php

这是 iCal.php

排队$mailerror="Mailer Error: " . $mail->ErrorInfo;

我为错误信息定义了上面的行,但我没有收到任何错误信息

echo$hi仅打印Mailer Error:

请告诉我哪里做错了

0 投票
2 回答
1201 浏览

ios - 是否支持在 CalDAV 或 ical (icalendar) 中将事件标记为只读

我搜索了 iCalendar 规范https://www.rfc-editor.org/rfc/rfc5545和 CalDAV 规范https://www.rfc-editor.org/rfc/rfc4791寻找有关如何标记事件的见解当 iPhone 使用 CalDAV 协议连接到我们的服务器时,它作为“只读”(不可编辑)从我们的日历服务器发送到 iPhone。但答案不是突然出现在我身上。

换句话说,iPhone 用户正在通过 CalDAV 帐户接收一系列事件。通常,他们可以编辑任何这些事件。但是,我们希望能够将一些标记为只读。我知道我们可以使用 iPhone 的功能添加一个 .ics 订阅帐户,但我们并不想这样做,因为它需要 iPhone 用户同时添加一个 CalDAV 和一个 .ics 订阅帐户。

我们使用 SabreDAV 作为我们的 CalDAV 服务器。

我的技术同事要求我对此进行调查,因此我向 Stackoverflow 社区寻求帮助。

任何帮助或提示将不胜感激。

0 投票
3 回答
2041 浏览

python - Python dateutils 根据 iCalendar 格式打印重复规则(参见 RFC 5545)

我正在尝试将重复规则打印为 iCalendar 格式指定的字符串(请参阅RFC 5545)。我使用 python dateutils,特别是 dateutil.rrule 来创建重复规则,我想将其打印为字符串,如:

谁能告诉我是否有一种方法可以实现这一目标?

我想我正在使用 labix dateutils 顺便说一句。

非常感谢!

0 投票
1 回答
1986 浏览

.net - DDay.iCal Outlook 与时区和重复模式的兼容性

我有一些运气让 Outlook 通过电子邮件接受我的 .ics 文件并将它们解释为日历邀请,但我遇到了时区问题。

最初,我发现如果我的所有日​​期都以 UTC 提供,Outlook 会做正确的事情(正确的事情是在显示事件时将时间转换为系统的时区设置)。这是 iCalendar 文件:

不幸的是,当我添加重复事件时,由于某种原因,Outlook 不会这样做。因此,我尝试使用以下方法将时区添加到我的 iCalendar 文件中:

奇怪的是附件显示为“不支持的日历 event.ics”,但是当我打开附件时,Outlook 可以很好地解释文件(大部分情况下)。

这是 iCalendar 文件:

有谁知道这个文件前景的哪个部分有问题?或者,也许更重要的是,有没有人知道我可以在 dday.iCal 中做什么来让前景快乐?

谢谢!

0 投票
1 回答
1741 浏览

icalendar - iCal 提要和日期范围

我试图了解 iCal 提要和 iCalendar 客户如何处理过去和未来的大量事件。iCalendar 客户端是否可以通过任何方式将日期范围传送到 iCalendar 提要 - 这样就不会不必要地向用户发送当前日期范围之外的事件。

如果不是,iCalendar 提要如何决定发送事件的日期范围?如果一个人继续通过网络发送所有数据,那么在某些时候它会变得无法管理,无论是提要还是客户端。如果提要没有在过去和很远的将来发送数据,客户端如何处理数据中的这些“漏洞”?