icalendar - iCalendar:如何从 RRULE 中排除时间范围?
问题描述
我想从 RRULE 中排除时间范围。
例如 RRULE:
DTSTART;VALUE=DATE-TIME:20210104T142711Z
RRULE:FREQ=HOURLY;INTERVAL=2
将每两个小时创建一个重复事件,但我想排除夜间的一段时间,例如从 22:00 到 6:00。
我已经阅读了如何使用 EXDATE 属性排除日期,但我没有在 RFC 中找到有关如何排除一段时间的信息。这是在某处记录的还是有推荐的方法?
解决方案
我建议尝试
规则:频率=每日;按小时=6,8,10,12,14,16,18,20
并在您希望处理此问题的所有应用程序中进行测试。某些日历应用程序不执行 FREQ=HOURLY。EG:最后我看了一下,谷歌没有做 FREQ=HOURLY。我不知道BYHOUR。测试应用程序是否会做 BYHOUR?
此https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html 解释了重复次数的限制或扩展。
如果您的预期接收应用程序不接受这些,那么另一种方法可能是每小时生成多个 VEVENTS,全部使用 FREQ=DAILY。
推荐阅读
- python - 仅在具有值的情况下从熊猫系列中删除最后一个字符
- html - 为什么 > 选择器也选择嵌套跨度?
- pandas - pandas dataframe list col,执行 str.split('\.[a-zA-Z]', 1).str[0].str.strip() AttributeError: 'list' object has no attribute 'str'
- nginx - 用于设置 TLS 连接的 engine_ssl pkcs11 的 Nginx 配置
- asp.net-core - Azure 上的 Reactjs.net 错误:ReactJS.NET 尚未正确初始化
- php - MySQL - 如果由 CLI 调用,存储过程返回 null 但导致工作台
- r - 将具有多个根的 XML 转换为 DataFrame
- dataweave - Mule 4/DW 2.0:在数组对象内迭代数组
- git - 带有代理的 git clone ssh
- python - 如何随机选择位置以生成受限于范围的唯一数字列表