iCalendar格式中关于RRule的解析和生成
最近在做一个关于Calendar的项目,相当于Google Calendar或者Outlook中的Calendar。在Calendar的发布和共享中,使用到了iCalendar,是一种日历数据交换的标准,具体参见维基百科: 由于使用C#开发,所以希望能够找到一个开源或者免费的iCalendar组件,帮助生成.ics格式的文件。果然有人做了这样的事情,那就是DDay.iCal,开源地址: 关于Calendar,普通的事件都好设置,最麻烦的就是循环事件。循环事件有多个属性需要设置,还要计算接下来发生的时间,但是在iCalendar标准中,这些循环设置,最终都化作为一个RRule格式的字符串(关于RRule格式的标准,我们可以参见)。 既然是以DDay.iCal来生成ics文件,那么想必这个组件也有解析RRule格式和生成RRule格式的方法。下面就说说如果使用DDay.iCal处理RRule。 一、RRule的解析 DDay.iCal中有个RecurrencePattern对象,该对象可以用于描述循环设置。该对象在构造时可以传入RRule字符串,然后我们可以使用RecurringComponent对象的GetOccurrences方法获得循环事件在指定时间区间内的发生的时间。 闲话休说,我们看代码: RecurringComponent(); RecurrencePattern pattern = RecurrencePattern(); recurringComponent.RecurrenceRules.Add(pattern); recurringComponent.Start = iCalDateTime(Convert.ToDateTime()); var occurrences = recurringComponent.GetOccurrences( Convert.ToDateTime(),startTime <=endTime Convert.ToDateTime()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Asp.net mvc 知多少(三)
- ASP.NET标识如何为自定义ApplicationUser添加必需属性?
- ASP.NET会话状态InProc
- 使用asp.net中的Enterprise Library实现日志文件
- asp.net-mvc – 如何在ASP.NET MVC应用程序中使用多个视图引
- 如何从Asp.Net Code Behind调用JavaScript函数?
- asp.net-mvc – Kendo UI Grid – 显示行号
- asp.net-mvc – 如何在MVC中测试ModelMetadata.FromLambdaE
- asp.net-mvc – 如何根据用户过滤MVC 4中的结果
- 为什么MVC而不是好的旧ASP.NET?还没有抓住为什么要走这条路
- asp.net – 在运行时获取IIS绑定
- asp.net-web-api – 带协议缓冲区的ASP.NET WebA
- asp.net-core – 如何在使用asp.net 5时更改登录
- asp.net – UserControl有IsPostBack,但是Contro
- asp.net-mvc – ASP.NET MVC – 如何从引用的类库
- asp.net – MS Chart控件创建的临时文件应该放在
- asp.net-mvc – 用于对Office 365 AD进行身份验证
- .net – MVC 4 Mocking HttpContext – 如何模拟
- asp.net-mvc – 如何测试Asp.Net MVC视图是否无异
- asp.net-mvc – ‘Personal’是一种类型,在给定的