使用 RFC 5545 重复规则安排每月事件“每个第 N 个工作日”

2023-12-31

我正在尝试使用 RFC5545 重复规则在 C# 中复制 Google 日历中的一些计划功能。

有两种使用 Google 日历每月安排的选项,即每月的第 N 天,即:每 1 个月每月的第 10 天,无论工作日如何,这显然都会发生。

我对此的重复规则是:FREQ=MONTHLY;BYMONTHDAY=10

另一种选择是在每个第 N 个工作日重复该事件,即:“每个月的第二个星期日,这是我在编写规则时遇到的麻烦。

我的第二条规则应该是什么?我试过了FREQ=MONTHLY;BYDAY=SU,但我不确定如何/使用哪些参数来指定仅在每月的第二个星期日执行此操作。

我正在使用日iCalC# 库来生成我的重复规则,但我很高兴能够看到规则字符串应该是什么样子以实现所需的行为。

我正在使用RFC 5545 重复规则 https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10.


你已经快到了。你需要的是设置当天的索引,RFC5545 说:

每个 BYDAY 值前面还可以带有正 (+n) 或 负 (-n) 整数。如果存在,则表示第 n 个 每月或每年“RRULE”中特定日期的发生。

RFC5545稍后给出了一个例子

每月第一个星期五,共发生 10 次:

   DTSTART;TZID=America/New_York:19970905T090000
   RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR

所以对你来说规则必须是:

RRULE:FREQ=MONTHLY;BYDAY=2SU

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

使用 RFC 5545 重复规则安排每月事件“每个第 N 个工作日” 的相关文章

随机推荐

  • SonarQube 与 Jest 单元测试

    我一直在尝试找出如何填充声纳Qube和我的笑话单元测试和 net 单元测试 我有一个本地版本SQ 6 7以及所有最新版本的 Javascript 和 C 插件 说到 Jest 我有sonar jest reporter https www
  • 模拟框架集分隔符行为

    HTML5 当前规范删除了 tag 有一个很好的功能没有它就不容易重现 在框架集中 您可以使用鼠标更改框架分隔线的位置 如何在 JavaScript 中使用 DIV 提供相同的功能 我遇到过下列 http www jsfiddle net
  • React.memo 如何与 useCallback 配合使用

    据我了解 React memo 是一个记忆组件的 API 如果它的 props 没有改变 React 使用该组件的最新渲染 而不将其与之前的版本进行比较 跳过新渲染并与旧渲染进行比较可以加快应用程序的速度 凉爽的 现在 这是我不明白的 如果
  • Java orElse 的可选工作并不像 else

    在Optional中 当调用optimal orElse方法时 无论元素是否存在 orElse部分是否被执行 它都不会表现为if else条件 在下面的代码中 如果您看到Case 1getNullPoJo 和 getDefaultPoJo
  • Google Maps Android api v2 折线长度

    我正在尝试找到 android 地图 api v2 方法 该方法将确定我在移动时创建的折线的长度 我会将其放入 onLocationChanged 中以进行持续更新 有人知道地图 api 的方法是什么以及显示长度的单位是什么吗 Polyli
  • C语言中的按位运算(0x80、0xFF、<<)

    我在理解这段代码时遇到问题 我所知道的是 我们已将代码传递到汇编器中 该汇编器已将代码转换为 字节代码 现在我有一个虚拟机应该可以读取这段代码 该函数应该读取第一个字节代码指令 我不明白这段代码中发生了什么 我想我们正在尝试读取这个字节码
  • 错误 [22P02] 错误:整数输入语法无效:“”;

    从来没有见过这样的错误 错误 22P02 错误 整数输入语法无效 执行查询时出错 创建表 Public Function PrimkCreate ByVal myPrimkTable As String ByVal nCon As Odbc
  • Android ConstraintLayout @dimens 替换为硬编码值

    嘿嘿小伙伴们 目前我正在学习新的布局编辑器Android Studio 与新的约束布局 顺便说一句 我讨厌它 但我遇到了一个问题 如果我想指定一个布局高度 with dimen 得到replaced with a dp值代替 还有人遇到这个
  • NextJS API 错误:“TypeError:res.status 不是函数”

    Context 我在用着NextJS v11 1 1 canary 11 React v17 0 2 and Typescript v4 3 5 我想创建一个简单的 API 端点 基于NextJS Typescript 文档 https n
  • 如何通过键从 JSON 字符串中提取值

    我有一列包含 Json 字符串记录 我想解析 json 并从 select 语句中获取特定键的值 示例 JSON kofaxDocId 8ae16f46 c68f 11e5 8105 0e15fb39b661 systemDocType L
  • 如何在 Qt 创建者中更改/配置所需的编译器?即在 MSVC/Mingw 或 g++/clang++ 之间切换

    我知道如何在 Qt Creator 中添加编译器 http doc qt io qtcreator creator tool chains html 然而我的Qt总是选择MSVC编译器 如何设置MinGW 内置或外部 而不是MSVC 找不到
  • Python没有操作码缓存器?

    我目前正在使用 PHP 我计划开始在我的下一个项目中使用 Django 但我没有任何使用Python的经验 经过一番搜索 我仍然找不到 Python 操作码缓存器 有很多 PHP 操作码缓存器 APC eAccelerator Xcache
  • 目标完整性 - 文件“Pods-ios.xcconfig”无法打开,因为无法解析其路径。可能会丢失”

    我正在尝试利用 RestKit 版本 0 20 1 附带的四个示例 目前正在尝试构建 RKSearchExample 构建 成功 但没有出现模拟器 我收到两个警告 第一个 目标完整性 文件 Pods ios xcconfig 无法打开 因为
  • 数组.include?多个值

    2 6 13 99 27 include 2 非常适合检查数组是否包含一个值 但是 如果我想检查数组是否包含多个值列表中的任何一个 该怎么办 有没有比这样做更短的方法Array include a or Array include b or
  • Google Chrome - 开发工具 - 网络选项卡 - 预览 - JSON 与文本

    我刚刚将 Chrome 更新到 beta 版本 版本 24 0 1312 5 beta m 和用于显示 json 响应的树视图的网络选项卡预览 现在它是纯文本 就像响应选项卡一样 我检查了设置 里面似乎没有任何内容可以改变它 还有其他人看过
  • 在 doGet(e) 上将参数传递给 webapp

    我试图弄清楚 URL 中的参数是如何传递给doGet 功能 我尝试做 https script google com a macros my domain com s some random string generated by GAS
  • 跨线程异常

    我有一段时间遇到问题 这一行 txtPastes Text string e UserState 抛出跨线程异常 我没有找到任何解决方案 txtPastes 文本框 GuiUpdate 后台工作者 lstAllPastes 字符串列表 pr
  • 无法在我的 Mac 上使用 dex2jar:权限被拒绝

    我下载了 dex2jar 现在尝试使用它 但如果我输入 sh d2j dex2jar sh 它会显示以下消息 d2j dex2jar sh line 36 d2j invoke sh Permission denied 起初我以为权限被拒绝
  • 从 Java 解码 Base64 并发送到浏览器的回车问题

    我有一个 Servlet 它已调整图像大小并将图像编码为 Base64 我这样编码 BufferedImage newBuf a bufferedImage ByteArrayOutputStream baos new ByteArrayO
  • 使用 RFC 5545 重复规则安排每月事件“每个第 N 个工作日”

    我正在尝试使用 RFC5545 重复规则在 C 中复制 Google 日历中的一些计划功能 有两种使用 Google 日历每月安排的选项 即每月的第 N 天 即 每 1 个月每月的第 10 天 无论工作日如何 这显然都会发生 我对此的重复规