C#导入导出日历ics文件 一些探讨

最近的一个项目  需要导出日历, 下面是我的一些分析文档, 没整理,

 

 

2. "-P1DT0H10M0S"这样的数据是怎样构成的。
     间隔时间值 1天0小时10分0秒
3. 谷歌最多导出多少个日程
      全部。。。我找的是前后3年 都出来了
4. 灰色部分用默认值是怎样考虑的

---------------------------------------------------------------------------
/////完整的ICS  灰色的不管  用默认值

BEGIN:VEVENT
DTSTART;TZID=Asia/Shanghai:20090413T023000   开始时间
DTEND;TZID=Asia/Shanghai:20090413T033000   结束时间

RRULE:FREQ=MONTHLY;BYDAY=2MO;WKST=MO  
按月循环,每个星期一。。。如果没有截止时间  就是永远循环
RRULE:FREQ=MONTHLY;WKST=MO;UNTIL=20091230T220000Z;BYMONTHDAY=31
按月循环,每个月的第31天, 如果没有第31天,肯定不用循环,直到20091230T220000Z;
RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR;UNTIL=20090521T203000Z;WKST=MO
按周循环, 每周1,3,5  直到20090521T203000Z   安年循环  只精确到某一天, 也就是说 每年只循环一天

DTSTART;TZID=Asia/Shanghai:20090416T070000
DTEND;TZID=Asia/Shanghai:20090416T080000
RRULE:FREQ=YEARLY;INTERVAL=8;WKST=MO
安年,每隔8年 20090416T070000这个日期循环  安年循环  只精确到某一天, 也就是说 每年只循环一天0416  这个是一天

DTSTART;TZID=Asia/Shanghai:20090411T070000
DTEND;TZID=Asia/Shanghai:20090411T080000
RRULE:FREQ=YEARLY;WKST=MO;UNTIL=20140410T230000Z

安年,每隔1年 20090416T070000这个日期循环  安年循环   每年循环这个时间(以天为单位)区段
 
DTSTAMP:20090416T034940Z             STAMP  
UID:vdv1llg1vunoit5dueder7cap4@google.com        guid ************
CLASS:PRIVATE                                        类型
CREATED:20090416T034931Z           创建时间
DESCRIPTION:beijing chifan             描述  备注
LAST-MODIFIED:20090416T034931Z        最后修改时间
LOCATION:beijing               地点
SEQUENCE:0
STATUS:CONFIRMED           状态
SUMMARY:chinachinaTest            主题
TRANSP:OPAQUE

BEGIN:VALARM      提醒
ACTION:DISPLAY     弹出窗口提醒
DESCRIPTION:This is an event reminder
TRIGGER:-P0DT0H10M0S   触发器    提前10分钟提醒
END:VALARM

BEGIN:VALARM
ACTION:EMAIL       Email提醒
DESCRIPTION:This is an event reminder
SUMMARY:Alarm notification      
ATTENDEE:mailto:chinachenaa@gmail.com  提醒EMAIL
TRIGGER:-P0DT0H10M0S 触发器
END:VALARM
END:VEVENT

--------------------------------------------------

导出

 private string headerStr = "";
        private string bodyStr = "";
        private string tailStr = "";
        private string enterSprite = "\r\n";

  Response.Clear();
            Response.Buffer = false;
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode("fileName") + ".ics");
            Response.ContentType = "text/calendar";
            this.EnableViewState = false;
            Response.Write(headerStr+bodyStr+tailStr);
            //Response.Write(sb.ToString());
            Response.End();

--------

探讨二

http://www.cnblogs.com/zhegebucuo/archive/2009/04/17/1438216.html

posted @ 2009-04-17 13:38  chinachen  阅读(1375)  评论(0编辑  收藏  举报