最近的一个项目 需要导出日历, 下面是我的一些分析文档, 没整理,
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:[email protected] 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:[email protected] 提醒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