首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查datetime是否在RRULE中

检查datetime是否在RRULE中
EN

Stack Overflow用户
提问于 2021-11-12 16:13:16
回答 1查看 192关注 0票数 0

在我正在开发的应用程序中有一个Google集成。RRULE字符串用于描述它们的递归行为的重复事件。

(例如RRULE:FREQ=DAILY;WKST=SU;UNTIL=20211215T215959Z;INTERVAL=3) )

我需要在应用程序中验证一些DateTime,这样它们就不会与这些事件相交。就复杂性而言,最有效的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-11-12 16:48:16

如果该RRULE的格式是常量的,只需:

创建Dictionary<string, string>

  1. 用";“字符将其拆分,得到不同的部分--

  1. 循环到这些部件

循环中的

  1. 将部分拆分为"=“字符,以获得rrule名称和rrule值.

实际的代码应该非常简单。

代码语言:javascript
复制
// NOTE: This rules parsing code could/should make it into a separate function, this is just some quick coding

string[] rulesParts = myVariable.Substring(myVariable.Indexof(':') + 1).Split(';');
Dictionary<string, string> rrules = new Dictionary<string, string>();
foreach(string rulePart in rulesParts)
{
    string[] nameAndValue = rulePart.Split(';');
    string ruleName = nameAndValue[0];
    string ruleValue = nameAndValue[1];
    if (!rulesParts.ContainsKey(ruleName))
    {
        rrules.Add(ruleName, ruleValue);
    }
}

if (rrules.ContainsKey("UNTIL"))
{
    // Do a DateTime.TryParseExact of rrules["UNTIL"] and work with your DateTime variable as you like
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69945906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档