- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通读 RFC 5545 并试图确定如何正确地找到一组事件。假设我有一个 WEEKLY rrule = 2(每隔一周)。我还为周二、周三、周四指定了 BYDAY 规则部分。假设我的开始日期是 2011-04-07(星期四),结束日期是 2011-04-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。当 WEEKLY “RRULE” 的间隔大于 1 且指定了 BYDAY 规则部分。”
因此,如果我的 WKST=MO,我从上面的陈述中看到一个暗示,即一周不是从开始日期开始,而是从 WKST 开始。这意味着我不需要使用基于开始日期的一周,在这种情况下,周四至周三,我需要实际从 WKST 开始并确定哪些事件发生在该周(周一至周日)和该 WKST 的每隔一周内.因此,出于计算目的,我的开始日期实际上是 2011 年 4 月 4 日。那是在开始日期之前,所以我提前到开始日期,但我坚持周一至周日的一周。这意味着我的事件集实际上是: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 日。不是我最初的预期,但希望这可以帮助其他人。
最佳答案
我不知道我是否有资格成为大师,但我肯定已经通过了所有的 RRULE。
我的理解是,是的,根据 WKST,每周规则绝对必须从一周的开始开始(然后您的开始日期可能会砍掉一些日期)。
因此,如果您想要原始日期集,则必须说 WKST=TH!
如果您相信谷歌已经有人已经弄清楚了这一切,那么检查您是否理解的一种方法是使用这些规则手动编码一些 ics 文件并将它们导入谷歌日历并查看谷歌生成的日期。
您可能还会发现此表对重复规则很有帮助 - 在页面底部的页脚中还有一些指向 ics 资源的链接。
关于icalendar - 从展开的 iCalendar RRule 确定事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5750586/
假设我有一个事件发生在每天下午 7:00 和 2:00。 RRule 看起来像这样: FREQ=DAILY;BYHOUR=10,14 如果我想要一个发生在上午 10:00 和下午 2:30 的事件,我
更新 :试图在这里创建一个最小的复制:https://github.com/aioobe/node-issue-repro .显然,它非常精简,但它显示了相同的错误消息。 git clone git@
从 IPython 控制台: In [16]: b Out[16]: datetime.datetime(2008, 3, 1, 0, 0) In [17]: e Out[17]: datetime.
我正在尝试包含库 https://github.com/jakubroztocil/rrule到我的网页。 但我收到错误:Uncaught SyntaxError: Unexpected token
我正在尝试使用 python-dateutil创建规则来安排事件在美国东部时间每天下午 6 点整运行。 我当前使用的规则很简单: byhour:23; 在非夏令时期间它会渲染为下午 6 点,但在夏令时
我想从 RRULE 字符串 ( RFC2445 ) 生成人类可读的文本(自然语言)。我已经用谷歌搜索了,我发现只有一个 JavaScript 库( rrule.js )可以生成这样的文本。但我需要在
我在节点中使用“rrule.js”库来解析我的 RRule。我想知道当前日期是否与规则日期相同。它适用于大多数情况,但不是全部。我也是用moment.js来比较的。问题出在“rule.after()”
我们每年的周末 (Fr-Su) 都会举办事件,其中包括 6 月的第一个星期日。我将如何创建表示这三天(全天事件)的 iCalendar 事件? 为第一个星期日制定规则很容易。但是对于星期六和星期五,我
我正在开发一些与 Google Calendar API 接口(interface)的软件,我的用户可以利用的一项功能是为单个“类别”设置多个事件时间(即,某些类别的类别为 2-5)天,其他则 3-6
我正在使用 fullcalendar 4.4.0,除了 rrule 之外,一切正常。如果我尝试使用简单的递归,它是有效的,但规则递归不起作用。让我分享我的代码
我能够使用 rrule 列出两个日期之间的天数,如下所示: from dateutil import rrule from datetime import datetime a = '20180306
我如何使用 dateutil 创建一个仅排除结束时间戳的规则?我是否必须创建一个自定义函数,或者有没有办法在本地执行此操作? 举个例子 rule = rrule.rrule(rule.HOURLY,t
我正在使用 rrule,如下所示: https://labix.org/python-dateutil#head-470fa22b2db72000d7abe698a5783a46b0731b57 我想
我需要一些帮助来理解 ICAL 重复规则生成。 我创建了一个日历,其中仅包含一个事件。该事件的规则是在接下来的 5 天内每 2 天重新发生一次。 Google 日历会使用此文件生成 ICS 文件。 .
我将 python dateutil 模块用于支持重复事件的日历应用程序。我真的很喜欢使用 rrulestr() 函数解析 ical 规则的能力。此外,使用 rrule.between() 获取给定间
使用 dateutil.rrulestr,我设法扩展了一些重复项,例如如下所示的重复项: DTSTART;TZID=Europe/Zurich:20100930T183000 DTEND;TZID=E
我有 Intent intent = new Intent(Intent.ACTION_EDIT); intent.setType("vnd.android.cursor.item/event");
我正在将应用程序的日历从 Telerik Scheduler 切换到 jQuery fullcalendar。我使用 iCal RRULE 将重复发生的事件存储在数据库中。 问题是,当有人将事件拖到新
我有日历 View ,我可以在其中设置事件,但我不知道如何处理重复发生的事件。我通过光标获取 Event.RRULE 的值: String rrule = cursor.getString(curso
我敢肯定这个问题已经被问过几次了,但我还没有找到合适的解决方案,也没有找到最好的解决方法。 我有一个日历(使用 jQuery FullCalendar)。我想对日历实现重复结构。最好的方法是使用标准,
我是一名优秀的程序员,十分优秀!