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方法获得循环事件在指定时间区间内的发生的时间。 闲话休说,我们看代码:
二、RRule的生成 RRule还是通过RecurrencePattern来设置循环的属性,然后使用ToString方法就能够获得RRule字符串了。 代码如下: <pre class="csharpcode">RecurrencePattern pattern = <span class="kwrd">new RecurrencePattern(); RecurringComponent recurringComponent = <span class="kwrd">new RecurringComponent(); <span class="kwrd">foreach (Occurrence occurrence <span class="kwrd">in occurrences) (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-2 – ASP.NET MVC 2并列为隐藏值?
- 是否可以使用ASP.NET ScriptManager来使用Windows FIPS安全
- asp.net-mvc – 类库中的控制器和视图
- asp.net-core – .NET Core SDK安装程序无法在Windows 2012
- asp.net – 如何将下拉列表添加为gridview项
- asp.net-mvc-3 – MVC 3 – Html.EditorFor似乎缓存旧值$.a
- 如何为ASP.NET身份设置密码规则?
- iis-7.5 – 使用虚拟目录/应用程序在IIS中托管ASP.NET 5 We
- asp.net-mvc – 如何正确识别vs2008版本级别?
- asp.net-mvc-3 – 用于在ASP.NET MVC3中使用Grid.MVC编辑记
- asp.net – ASP.NET中的“关键字不支持:”错误
- asp.net-mvc – 为什么我的ActionFilters都没有运
- ASP.NET 常用 文件上传方法
- asp.net-mvc-3 – 如何关闭我的整个ASP.NET MVC
- asp.net – 304未修改静态文件
- asp.net-mvc – Url.Action如何从模型中添加参数
- WPF的Page介绍及Page Window Frame 之间的链接使
- linq – ASP.NET Web API GET方法:为单个参数传
- asp.net-mvc – ASP.NET MVC 3 Beta 1 Block访问
- asp.net-mvc – 在布局视图中获取当前的Applicat