问题标签 [rrule]

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 投票
1 回答
6393 浏览

python - dateutil.rrule.rrule.between() 只给出现在之后的日期

从 IPython 控制台:

如何使between()返回日期从开始 ( b) 日期开始?

0 投票
1 回答
983 浏览

iphone - 扩展 iCalendar 的重复数据

我正在创建日历应用程序。适用于 iPhone。我从谷歌日历中获取日历事件(没有扩展重复)然后尝试通过从头开始编写代码来扩展重复事件。我确实从网上获得了 iCalendar 格式,例如以下格式:

http://www.kanzaki.com/docs/ical/rrule.html

但是从头开始扩展重复事件看起来是个坏主意,太复杂以至于容易出错。

那么,有谁知道在哪里可以找到“扩大复发事件”的算法?

更喜欢objective-c,但Java和其他语言都可以。(我试图看Sunbird,但不能很好地分析)

请指教!

胜美

0 投票
1 回答
1738 浏览

c# - 移动约会时我应该如何更新 iCal RRULE?

我正在将我的应用程序日历从 Telerik Scheduler 切换到 jQuery fullcalendar。我使用 iCal RRULE 将重复事件存储在数据库中。

问题是,当有人将事件拖到新日期时,我如何更新 RRULE 以便每个后续事件都受到相同的时间增量?

我查看了 DDay.iCal 并看到了方法

听起来像我正在寻找的东西,但文档中没有详细信息。

有什么建议么?

非常感谢,

迈克尔

0 投票
3 回答
5190 浏览

html - 寻找实现 RRULE (iCalendar RFC 5545) 的 JavaScript 库

我正在寻找一个在 JaavScript 中实现的好的 iCalendar RFC 5545 处理库(开源/GPL 兼容)。我目前的兴趣是一个完全实现 RRULE 的 js 库,这样我们就可以通过兼容 HTML5 的浏览器离线使用我们的日历 Web 应用程序。

我们有我们的 UI,所以我们需要一个可以生成 RRULE 和事件日期的可用库。我什至考虑过联系创建 python dateutil 的人,看看我们是否可以将他的库移植到 js。

我们的需求示例包括:

  1. 给定原始数据(由我们现有的 UI 提供),构建 iCalendar VEVENT 信息,包括 RRULE。
  2. 给定一个 VCALENDAR / VEVENT 对象,生成适当的 iCalendar 文本字符串,我可以使用 HTML5 将其存储在本地,直到客户端连接到服务器。
  3. 给定一个带有 RRULE 的 VCALENDAR / VEVENT 对象,可以说“给我从某个日期开始的下 X 次事件的开始/结束日期”或“给我直到 Y 日期的所有开始/结束日期”。

非常感谢任何线索、想法或建议。

0 投票
1 回答
2536 浏览

icalendar - 从扩展的 iCalendar RRule 确定事件

我正在阅读 RFC 5545 并尝试确定如何正确找到一组事件。假设我有一个 WEEKLY rrule = 2(每隔一周)。我还为 Tue、Wed、Thu 指定了 BYDAY 规则部分。假设我的开始日期是 2011 年 4 月 7 日(星期四),我的结束日期是 2011 年 4 月 27 日(星期三)。显然忽略不重要的日期,我认为我的事件集将包含:2011-04-07、2011-04-12、2011-04-13、2011-04-21、2011-04-26、2011-04- 27.

让我失望的是 RFC 中的以下声明:“WKST 规则部分指定工作周的开始日期。有效值为 MO、TU、WE、TH、FR、SA 和 SU。当每周“RRULE”的间隔大于 1,并且指定了 BYDAY 规则部分。

因此,如果我的 WKST=MO,我从上述语句中看到了一个暗示,即一周不是从开始日期开始,而是从 WKST 开始。这意味着不是使用基于开始日期的一周,在这种情况下,周四至周三,我需要实际从 WKST 开始,并确定哪些事件发生在该周(周一至周日)以及从该 WKST 开始的每隔一周. 因此,出于计算目的,我的开始日期实际上是 2011-04-04。那是在开始日期之前,所以我跳到开始日期,但我坚持周一至周日。这意味着我的事件集实际上是:2011-04-07、2011-04-19、2011-04-20、2011-04-21。这与我原来的设置有很大不同。

此外,如果这是计算的正确方法,这是否也意味着在扩展具有 >1 间隔的其他频率的规则情况时,我必须在该期间的开始而不是开始日期“开始”。MONTHLY 是否包含开始日期当月的第一天 - 最后一天。YEARLY 是否包括开始日期当年的 1 月 1 日 - 12 月 31 日?

我希望那里有一位 iCalendar 大师……我无法理解这里的逻辑。谢谢。

更新:我确实创建了一些 .ics 文件并导入谷歌日历。假设谷歌正确解释了这些,我可以确认使用 INTERVAL>1 的扩展 MONTHLY 将使用该月的第一天到最后一天,而不是从事件的开始日期开始的一个月。YEARLY 规则以相同的方式工作,年份从 1 月 1 日到 12 月 31 日。不是我最初的预期,但希望这可以帮助其他人。

0 投票
2 回答
488 浏览

drupal - iCal 事件重复设置为 M、W、F - 显示为 S、T、R!

我有一个重复的 UTC 指定 iCal 事件。一切似乎都正确输出了,但 iCal 客户端却在乱跑:重复模式是 M、W、F,但开始日期(转换为 UTC)是星期二。

被错误计算的重复模式是 S,T,R。

这是无法正常工作的 ical 输出:

该活动原定于太平洋标准时间 6 月 20 日下午 6:00 开始。对于 UTC,日历正确地将其转换为 6 月 21 日凌晨 1:00。它重复 M,W,F 一个月。然而,它似乎完全抛弃了谷歌日历和苹果 iCal 对重复事件的计算。

第一个事件出现在星期一,但第二个事件出现在星期二,第三个星期四,从那时起,重复模式的 S、T、R 直到结束。

这是 iCal 错误吗?这是我的 iCal 创建者(Drupal 的 Views iCal)输出错误的东西吗?

更新:好的,很多人已经导入了这个,它适用于所有情况,除了 Apple iCal 和 Thunderbird Lightning。

这是因为在导入时,客户(我相信)在全球范围内确定时区并一次正确地转移所有内容。

但是,如果您使用 GCal订阅它,它会单独限定每个事件的时间并进入 kerplewey,显示我上面描述的行为。

更新文件

iCal 文件本身是错误的 - 出于某种原因,某些客户端可以处理错误,而其他客户端则不能,但 UTC 中指定的事件实际上是在凌晨 1:00 重复每个 T、R、S,并且“好”客户端转移这回基于当地的TZ。iCal 创建过程根据本地时区而不是转换为 UTC-one 计算重复天数。这是 Drupal iCal 实现中的一个错误。

0 投票
2 回答
1339 浏览

outlook - JAVA 创建的会议在接受时不显示在 Outlook 日历中

使用 iCal 格式,什么会导致会议邀请成功发送给用户,但如果该会议被接受,会阻止该会议出现在用户的日历中?

我正在开发基于 Java 的 Web 应用程序中的一项新功能,该应用程序与 Outlook 的日历集成。用户在我的应用程序中安排了一些事情 -> 日历邀请被发送到他们的电子邮件。

我有一位用户正在为我测试该功能,她报告说:如果她使用我的应用程序设置会议邀请,当她接受会议时,会议不会出现在她的 Outlook 日历中。

她确实收到了日历邀请电子邮件,并且可以打开并接受它,但是它只是没有出现在她的日历中。这让我觉得很奇怪......在我的测试中,如果 ical 格式存在问题,outlook 甚至不会打开邀请。这也使我相信她的问题是由于她和我都不知道的一些前景设置造成的。她声称她可以接受其他会议邀请,这些邀请会立即出现在她的日历中。

她和我使用相同版本的 Outlook。我已经记录了 iCal 消息,我可以将它们复制到一个文本文件中,将其重命名为 *.ics,然后我的 Outlook 会很好地打开它,并且它会很好地显示在我的日历上。

我花了很多时间在网上搜索,我什么也没有。

有任何想法吗?

0 投票
2 回答
340 浏览

internationalization - 以编程方式翻译周期性日历事件?

有谁知道以任何给定语言解析和翻译重复事件的解决方案或策略?

我有一些可以工作的代码,但我什至无法将我的大脑包裹在一个可靠的方法上。

0 投票
4 回答
4130 浏览

javascript - 日历上的重复事件:RFC 5545 Javascript 解析

我需要将重复事件集成到完整日历的改编版本中,该版本添加了一个允许离线事件浏览的 javascript 模块。

我正在寻找一个可以根据 RFC 5545 解析重复事件的 javascript 库。

我需要能够列出发生在两个日期(开始日期和结束日期)之间的所有重复事件,使用 RRULE 和 EXDATE 并解释每日、每周、每月和每年的重复。

我已经花了几个小时寻找没有 aval 的东西,而且我不想重新发明轮子....任何人都可以为现有的 javascript 解析器指出正确的方向吗?

0 投票
1 回答
1320 浏览

python - 如何生成表示 rrule 对象的人类可读字符串?

我的应用程序允许用户定义对象的调度,并将它们存储为 rrule。我需要列出这些对象并显示“每日,下午 4:30”之类的内容。有什么东西可以“漂亮地格式化”一个 rrule 实例?