当前位置: 首页 > 工具软件 > iCalendar > 使用案例 >

iCalendar

上官飞
2023-12-01

今天想要给所有的朋友生日放到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>整个日历结束  


然后我导出了一个GoogleCalendar分析:



这是由第三方生成的农历生日代码(我把其中的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:STANDARD
TZOFFSETFROM:+0800
TZOFFSETTO:+0800
TZNAME:CST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART:20150430T010000Z
DTEND:20150430T020000Z
DTSTAMP:20150105T104344Z
UID:45b5f2e905faf685ffeef8b9495f4c71@chard.com
CREATED:20150105T104344Z
DESCRIPTION:
LAST-MODIFIED:20150105T104344Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:test day
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
 类似资料:

相关阅读

相关文章

相关问答