iCalendar
来源:互联网 发布:dijkstra算法证明 编辑:程序博客网 时间:2024/05/19 01:59
今天想要给所有的朋友生日放到GoogleCalendar上,但是奈何我身边(包括我自己)好多人过得都是农历生日。Google的日历设计的还是不错的,可惜没有农历循环。网上找了一下,找到一个ics文件生成软件可以给2039年以前的农历解决了。
好奇心驱使,看了一眼ics文件。并没有什么难得。但是资料很少。到处找了找,又导出了自己的日历对比研究。
BEGIN:VCALENDAR<span style="white-space:pre"></span>iCalendar开始 PRODID:-//Google Inc//Google Calendar 70.9054//EN 产品编号 Product Identifier VERSION:2.0 <span style="white-space:pre"></span>版本号 CALSCALE:GREGORIAN <span style="white-space:pre"></span>大概理解成日历的规格 采用了 Grogorian 格利高里历法(公历) METHOD:PUBLISH <span style="white-space:pre"></span>日历之间的关联方法 看到其他的地方有用 METHOD:REQUEST 来表明是一个请求 X-WR-CALNAME:test <span style="white-space:pre"></span>X-表明这是一个私有扩展 在GoogleCalendar这里应该是指所属的日历 X-WR-TIMEZONE:Asia/Shanghai <span style="white-space:pre"></span>时区 X-WR-CALDESC: <span style="white-space:pre"></span>日历的描述 BEGIN:VEVENT <span style="white-space:pre"></span>事件开始声明 DTSTART;VALUE=DATE:20150105 <span style="white-space:pre"></span>DTSTART <span style="white-space:pre"></span>开始时间 <span style="white-space:pre"></span>DTSTART;VALUE=DATA:表明此事件是全天事件 非全天时间见下test3 <span style="white-space:pre"></span>默认应该是'YYYY/MM/DD'T'HHMMSS'Z 也就是年月日T时分秒Z 注意这里的时间是国际标准时 没有算入时区 DTEND;VALUE=DATE:20150106 <span style="white-space:pre"></span>结束时间<span style="white-space:pre"></span>规则同上 DTSTAMP:20150105T032918Z<span style="white-space:pre"></span>时间戳<span style="white-space:pre"></span>生成整个文件的时间 UID:2i5jvr2c9h6v9q4u7dk73uh20o@google.com<span style="white-space:pre"></span>UID<span style="white-space:pre"></span>不同管理软件之间通讯的时候,描述一个事件的唯一识别符 CREATED:20150105T032811Z<span style="white-space:pre"></span>创建时间<span style="white-space:pre"></span>创建事件的时间 DESCRIPTION:<span style="white-space:pre"></span>事件描述 LAST-MODIFIED:20150105T032811Z<span style="white-space:pre"></span>最后编辑时间 LOCATION:<span style="white-space:pre"></span>地点 SEQUENCE:0<span style="white-space:pre"></span>日历组件版本号 STATUS:CONFIRMED<span style="white-space:pre"></span>状态 SUMMARY:test1 <span style="white-space:pre"></span>事件名 TRANSP:TRANSPARENT <span style="white-space:pre"></span>状态为有空 <span style="white-space:pre"></span>TRANSP:OPAQUE 没空 忙碌 END:VEVENT <span style="white-space:pre"></span>事件结束声明 BEGIN:VEVENT DTSTART;VALUE=DATE:20150106 DTEND;VALUE=DATE:20150108<span style="white-space:pre"></span>注意这里是一个跨两天的事件 从6日到8日 DTSTAMP:20150105T032918Z UID:vfj8tsjndpg0tou5fl589r2cqc@google.com CREATED:20150105T032821Z DESCRIPTION: LAST-MODIFIED:20150105T032821Z LOCATION: SEQUENCE:0 STATUS:CONFIRMED SUMMARY:test 2 TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART:20150108T020000Z<span style="white-space:pre"></span>这里是一个 DateTime格式的时间 是8日 10点到12点的事件 DTEND:20150108T040000Z DTSTAMP:20150105T032918Z UID:m3f6n4p5hb2najkspdhdffb1vg@google.com CREATED:20150105T032830Z DESCRIPTION: LAST-MODIFIED:20150105T032830Z LOCATION: SEQUENCE:0 STATUS:CONFIRMED SUMMARY:test3 TRANSP:OPAQUE END:VEVENT<span style="white-space:pre"></span>事件结束 END:VCALENDAR<span style="white-space:pre"></span>整个日历结束
这是由第三方生成的农历生日代码(我把其中的UID更改了一下):
BEGIN:VCALENDAR<span style="white-space:pre"></span>开始声明PRODID:-//Google Inc//Google Calendar 70.9054//EN<span style="white-space:pre"></span>产品编号VERSION:2.0<span style="white-space:pre"></span>版本号CALSCALE:GREGORIAN<span style="white-space:pre"></span>历法METHOD:PUBLISH<span style="white-space:pre"></span>关联方法X-WR-CALNAME:eva330680229@gmail.com<span style="white-space:pre"></span>日历名称X-WR-TIMEZONE:Asia/Shanghai<span style="white-space:pre"></span>时区BEGIN:VTIMEZONE<span style="white-space:pre"></span>注意这里下面是一段代码来描述时区TZID:Asia/Shanghai<span style="white-space:pre"></span>时区名X-LIC-LOCATION:Asia/Shanghai<span style="white-space:pre"></span>时区地址BEGIN:STANDARDTZOFFSETFROM:+0800TZOFFSETTO:+0800TZNAME:CSTDTSTART:19700101T000000END:STANDARDEND:VTIMEZONEBEGIN:VEVENTDTSTART:20150430T010000ZDTEND:20150430T020000ZDTSTAMP:20150105T104344ZUID:45b5f2e905faf685ffeef8b9495f4c71@chard.comCREATED:20150105T104344ZDESCRIPTION:LAST-MODIFIED:20150105T104344ZLOCATION:SEQUENCE:0STATUS:CONFIRMEDSUMMARY:test dayTRANSP:TRANSPARENTEND:VEVENTEND:VCALENDAR
0 0
- iCalendar
- icalendar支持
- office365邮件d的icalendar
- DDay.iCal - an iCalendar class library
- iCalendar 编程基础:了解和使用 iCal4j
- 在Windchill PDMLink和ProjectLink中使用iCalendar
- iCalendar格式中关于RRule的解析和生成
- c# 发邮件时发送会议邀请icalendar包括更新以及取消
- 解决Ruby “Unable to require openssl"问题
- 正则清除HTML标签但保留其中一部分标签
- log4j,slf4j (日志记录工具)
- java利用POI操作EXCEL(基于反射)
- ios判断字符串里面是否有分号,逗号,破折号,句号,省略号
- iCalendar
- Java——线程池的简单实例
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- Async详解之一:流程控制
- Rsync+inotify实时同步笔记
- ViewPager使用总结之基本使用
- 使用sqlalchemy
- less
- hash算法的实现原理,hashcode的实现原理