如果 DTSTART 日期不在 BYDAY 指定的日期范围内,如何从生成的事件中排除 DTSTART?

2024-04-25

我在用着谷歌-rfc-2445 https://code.google.com/archive/p/google-rfc-2445/根据根据生成重复事件rfc-2445 https://www.ietf.org/rfc/rfc2445.txt:

“VEVENT”的“DTSTART”属性指定包含的开始 事件。对于重复发生的事件,它还指定了第一个 重复集中的实例。

因此,例如 RRULE 表示每周五发生 5 次的事件:

DTSTART;TZID=US-Eastern:20160204T090000
RRULE:FREQ=WEEKLY;COUNT=5;BYDAY=FR;INTERVAL=1;

所以根据rfc-2445 https://www.ietf.org/rfc/rfc2445.txt它将生成 6 个事件。第一个活动于Thursday 4 February 2016,第二个事件Friday 5 February 2016, 等等。

如果第一个事件不在模式中,我怎样才能实现它排除它?在上面的示例中,它应该排除第一次出现的情况,4 February 2016。如果定义DTSTART;TZID=US-Eastern:20160205T090000这是星期五,它应该保留第一个出现的位置。

是否可以通过定义这样的“排除规则”来完成RRULE本身或者我需要检查代码,如果DTSTART与定义的日期不同BYDAY我应该在代码中查找最接近的日期(手动)并进行更改DTSTART因此?

UPDATE好的,根据 rfc-2445 和谷歌组上的这个问题:https://groups.google.com/forum/#!topic/google-rfc-2445/xqYFe411ysA https://groups.google.com/forum/#!topic/google-rfc-2445/xqYFe411ysA

“EXDATE”属性可用于排除指定的值
“DT开始”。但是,在这种情况下,原始的“DTSTART”日期必须
仍然由日历和调度系统维护,因为
原始的“DTSTART”值具有其他固有的使用依赖性 属性,例如“RECURRENCE-ID”。

看起来我需要使用EXDATE财产来实现我所需要的。尝试通过以下 RRULE 来实现此目的:

EXDATE;TZID=Asia/Jerusalem:20160210T000000 
RRULE:FREQ=WEEKLY;COUNT=5;BYDAY=WE;INTERVAL=1;

开始日期是:2016-02-10T00:00:00.000+02:00在下面的代码中:

DateTimeIterable dti = DateTimeIteratorFactory.createDateTimeIterable(RRULE, DTSTART, dateTimeZone, true);

但它只返回 4 个事件,所以它always删除第一个事件。


根据您给出的问题描述,您将得到 6 个事件DTSTART被添加,并且当它是一个时,您不希望它成为实例和 5 个事件列表的一部分good date.

所以你想要的只是得到last5 个事件,可以通过使用BYSETPOS在你的RRULE,以下应该可以解决问题:

BYSETPOS=-5,-4,-3,-2,-1

在所有情况下都会返回您最近发生的 5 个事件RRULE给出无论是否DTSTART与您的图案相匹配RRULE or not.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 DTSTART 日期不在 BYDAY 指定的日期范围内,如何从生成的事件中排除 DTSTART? 的相关文章

  • 如何使用 PHP 动态发布 ical 文件以供 Google 日历读取?

    任何关于 PHP ical 的 Google 搜索都会带来 phpicalendar 以及如何解析或读取 IN ical 文件 我只想编写一个 PHP 文件 从数据库中提取事件并以 ical 格式写出它们 我的问题是我找不到任何地方可以回答
  • 如何在 Java 中解析 iCal RRULE [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我有以下内容iCal 重复规则例子 RRULE FREQ YEARLY INTERVAL 2 RRULE FREQ WEEKLY INTERVAL
  • Outlook 无法识别 ics 消息

    我正在尝试在 PHP 中创建一个 ics 文件 并将其邮寄给用户 该解决方案在 Gmail 中运行良好 我收到了一份精美的邀请 所有信息都出现在正确的位置 但 Outlook 似乎根本无法识别它 我收到一封没有附件的空电子邮件 据我所知 没
  • 如何生成表示 rrule 对象的人类可读字符串?

    我的应用程序允许用户定义对象的调度 并将它们存储为 rrule 我需要列出这些对象并显示类似 每日下午 4 30 的内容 有什么可用的东西可以 漂亮地格式化 rrule 实例吗 您只需提供一个 str 方法 每当需要将对象呈现为字符串时就会
  • PHP:iCal 创建,如何在描述中换行

    我正在使用以下内容为 PHP 脚本创建 Outlook 日历邀请 然而 n 并没有在 Outlook 中给我一个新行 有没有办法做到这一点 如果你不能的话 那就显得很愚蠢了 function addToCalendar calEmail c
  • 如何使用 DDay.iCal 在 iCal Feed 中设置时区?

    我正在使用创建 iCal feedDDay iCal http www ddaysoftware com Pages Projects DDay iCal 它有效 但我不知道如何设置提要的时区 这是基本代码 iCalendar iCal n
  • php:编写 .ics (iCal) 文件?日期格式?

    我不是一个 php 专家 在格式化 ics 文件的日期时遇到了麻烦 所以我有一个循环为每个生成一个日历条目 post 在我的例子中 post 是一个事件 foreach posts as post setup postdata post i
  • ICalendar 和事件更新在 Outlook 中不起作用

    我正在生成 ICalendar ics 文件 使用 UID 和 SEQUENCE 字段 我可以更新 Google 日历和 Windows 日历中的现有事件BUT NOT在 MS Outlook 2007 中 它只是创建第二个事件 如何让它们
  • webcal:// Android 上的支持不起作用 - 是否有受支持的日历提要替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们为客户提供使用 webcal 链接在其设备上订阅 iCalendar VCalendar 源的能力
  • 如何在 Google 日历中使用别名?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我有一个谷歌帐户 比如说 电子邮件受保护 cdn cgi l email protection
  • .ics 邀请日历在 Outlook.com 问题中不起作用

    您好 我使用 cakephp 电子邮件发送一封附有 ics 日历的电子邮件 问题是确认按钮 si 完美显示在 yahoo 和 gmail 中 但不在 Outlook com 中 以下是 ics 文件的示例 BEGIN VCALENDAR V
  • 自定义 Django 模型字段中的“对象没有属性”

    我正在尝试创建一个 Django 模型字段 该字段表示 HTML 中包含天 小时 分钟和秒文本输入字段的持续时间 并使用 ical 格式 RFC5545 将持续时间存储在数据库中 这与我的问题有关如何在 Django 中创建一个 ical
  • Google 日历 API + 电子邮件通知 ics 文件

    我正在使用 Google Calendar API 在 Google Calendar 上创建活动 该 API 工作正常 当我修改 Google 日历中的其中一项活动时 Google 可以通过电子邮件向我发送包含 ics 文件的更新 有没有
  • iCal 属性参数可以/应该转义吗?

    具体来说 CN 通用名称 参数 例如 ORGANIZER CN John Doe Eng mailto 电子邮件受保护 cdn cgi l email protection 恕我直言 RFC 对此含糊其辞 这是非常清楚的属性值 of typ
  • Icalendar 事件 RSVP 是否有标准和实现

    总结是 我现在正在实现一个事件确认系统 但找不到 ICalendar 回复的正确格式 因此我想知道是否有一个完整的 REPLY 消息的示例 也许还有一个 PHP 库可以包装所有这些消息 现在了解详细信息 我们收到外部电子邮件 包括要求回复的
  • 如何向 ASP.NET 托管的 ICS iCalendar for Outlook 添加身份验证

    我有一个 ASP NET 应用程序 它动态创建 ICS 日历 使用 DDay iCal 库 http rbalajiprasad blogspot co uk 2012 11 mvc c create ical calendar ics f
  • 替换现有的 Outlook 日历约会

    我正在与icalndar约会一代做一些工作 这将允许代表查看活动的网站并单击提供的链接将约会添加到他们的日历中 我有一个工作程序集 它将根据一组已知的信息 开始日期 结束日期 标题等 生成 ics 格式的输出 作为物理文件或流 我为日历约会
  • ical导出的格式化时间

    我在 jquery 中创建了一个导出到 ical 的日历 但是 我对日期时间有一些问题 ical 导出脚本需要以下格式的日期 时间 19970714T170000Z 有谁知道这是什么以及我应该如何准备我的字符串 Thanks 阅读 RFC
  • Android Google 日历“无法启动活动”

    Case 1我主持了 iCal 日历活动 icsAmazon AWS 上的文件及其 HTTP URL 集成在我的 Android 应用程序中 这是文件 https s3 ap southeast 1 amazonaws com endcar
  • 如果 DTSTART 日期不在 BYDAY 指定的日期范围内,如何从生成的事件中排除 DTSTART?

    我在用着谷歌 rfc 2445 https code google com archive p google rfc 2445 根据根据生成重复事件rfc 2445 https www ietf org rfc rfc2445 txt VE

随机推荐

  • ModuleNotFoundError:Python 3.6 中没有名为“openpyxl”的模块

    我已经通过pip安装了openpyxl openpyxl 包位于以下路径中 AppData Local Programs Python Python36 32 Lib site packages 我正在使用pycharm 在我的代码中 如果
  • Rails 4.0 与 Devise。嵌套属性 不允许的参数

    我正在使用 Devise 和 Rails 4 开发一个网络应用程序 我有一个User我用 2 个额外的表单字段扩展了该模型 这样当用户注册时 他还可以提交他的名字 姓氏 基于http blog 12spokes com web design
  • Python二维数组-更改元素[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我有这个 7x7 二维数组 l 1 1 1 1 1 1 1 1 0 2 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0
  • 类型衰减——它是什么以及为什么会出现?

    我很惊讶类型衰减在 SO 或其他地方没有得到很好的解释 也许我没有使用正确的术语进行搜索 或者也许我没有正确理解整个事情 我的问题是 它是什么 它是如何 为什么 到达那里的 它的规则是什么 如果你想知道我为什么问 下面是我的哭泣型腐烂故事
  • Kinect 启用流时出错

    这是我第一次尝试制作一个使用 Kinect 的程序 我不知道为什么我总是得到一个null错误 也许更了解 KinectSDK 的人可以提供帮助 public ProjKinect InitializeComponent updateSens
  • 使用 GCC 为 Linux 设备驱动程序编译 Intel AVX 内联

    我在 corei7 上的 ubuntu 上运行 gcc 版本 4 8 2 从谷歌搜索中找到了有关 AVX 内在函数的信息 但我不确定这组内在函数是否可以用于 Linux 设备驱动程序并进行编译 如果可以的话 这里的任何人都可以告诉我 mak
  • 将列添加到 CSV Windows PowerShell

    我有一个相当标准的 csv 文件 其中包含标题 我想添加一个新列并将所有行设置为相同的数据 原来的 column1 column2 1 b 2 c 3 5 After column1 column2 column3 1 b setvalue
  • 如何在vim中每隔几行添加一行

    我想使用 vim 编辑器在文件 大约 1000 行 中每 3 行添加一行 有人可以帮我吗 谢谢 艾丽莎 有一个 vim 特定的正则表达式可以做到这一点 s n n n 0 r g s 是 vim ex 命令来替换整个文件 n 是包含行尾的一
  • 使用 AWS CodeDeploy 的环境变量

    我有一个 Web 应用程序 它利用环境变量进行某些配置 数据库凭据 API 密钥等 我目前正在使用 Elastic Beanstalk 进行部署 并且可以在 AWS 中轻松设置这些 这很棒 因为我的代码库中没有这些敏感数据 不过 我正在考虑
  • 指南针手表编译一次,无法注意到进一步的变化

    我在 Windows 7 上使用 SASS Compass 我最近将 SASS 从 3 2 10 升级到 3 4 2 将 Compass 从 0 12 2 升级到 1 0 1 我通过卸载旧版本并在命令提示符中使用 gem uninstall
  • 使用状态模式设计在Java中实现通信协议

    如果在其他地方回答了这个问题 我们深表歉意 找不到足够的信息来说服自己最好的方法来做到这一点 我还意识到这是一个冗长的解释 没有代码 但是让我知道我是否应该编写一些示例代码来帮助演示我正在做的事情 基本上 使用 System in out
  • 在 Windows 上忽略 Git 存储库中的目录

    如何在 Windows 上使用 msysgit 忽略 Git 中的目录或文件夹 创建一个名为 gitignore在您的项目目录中 通过在文件中输入目录名称 附加斜杠 来忽略目录 dir to ignore 更多信息是here http gi
  • 如何使 std::cin 读取空格? [复制]

    这个问题在这里已经有答案了 我知道这个问题之前已经在这个网站上被问过 但我似乎无法掌握如何让它与我的特定程序一起工作 本质上 我正在创建一种小型 MadLibs 类型的游戏 玩家必须输入某些内容才能将其融入故事中 现在 如果用户输入中没有空
  • 保存 PDF 时的 matplotlib 线宽

    我有一个具有一些对线宽敏感的相当微妙的特征的图形 我想将此图保存为可以轻松打印的 PDF 即接收器端无需缩放 只需 Command P 即可 不幸的是 当我设置 Figsize 8 5 11 以便正确调整 PDF 的打印大小时 matplo
  • 在 CodeIgniter 中上传多个文件

    在我的 CodeIgniter 项目中 我在项目创建期间上传文件 这是上传功能 function uploadFiles this gt load gt library upload error 0 projectName POST pro
  • data.table::fread 中的 dec 参数

    我在用fread from data table加载 csv 文件 但是我的 csv 文件使用dec 作为小数点分隔符 1 23将1 23 与在read csv看起来dec不是允许的参数 R args fread function inpu
  • 获取所有当前(活动)订阅

    是否可以获取所有 活动 订阅而不手动存储它们 我想unsubscribe所有 活动 订阅 并且不想在数组或变量中引用它们中的每一个 我取决于你使用的是Subject还是Observable 但可能没有办法 自动 做到这一点 观测值 我不认为
  • 如何在没有文档的情况下重构一个 10000 行的 Delphi 单元?

    我被分配了重构 Delphi 单元的任务 哇 10000 行代码 没有文档 大量的复制和粘贴代码 有很多用复制和粘贴制作的方法可以重构 无论如何 我迷失在所有这些行中 我有界面部分 我可以在其中 找到我的路 但总的来说 你建议如何处理此类任
  • Yii 间接修改重载属性

    winnerBid Bids model gt find criteria 模型有以下关系 public function relations return array item gt array self BELONGS TO Goods
  • 如果 DTSTART 日期不在 BYDAY 指定的日期范围内,如何从生成的事件中排除 DTSTART?

    我在用着谷歌 rfc 2445 https code google com archive p google rfc 2445 根据根据生成重复事件rfc 2445 https www ietf org rfc rfc2445 txt VE