惟有于技术中才能明得真相

Google Calendar农历提醒解决方案

Google Calendar作为一个提醒工具,它的一个缺点就是不支持农历的循环提醒,这对过农历生日的就很不方便了。现在网上的主要解决方案是使用工具生成一个包含每年生日信息的iCalendar文件,然后在Google Calendar中导入它就可以一次添加很多年的生日信息,这里是网上已经存在的一个解决方案,但它有缺点。首先一个问题,它只能用于Windows,这对大多数人并不是一个问题,但对我是个问题。第二个问题,它似乎没有考虑到农历和公历的不同,日期输入采用的是输入公历的控件,所以不能输入2/29,这对大多数人不是问题,但对我是个问题,我的生日刚好是农历二月二十九,当然我可以选择闰年作为开始日期和结束日期,但总归令人不爽。所以我就单独写个程序,程序中Python写的,使用命令行,这可能对大多数人是个问题,但对我不是一个问题。

使用方法:

$ ./lunar_reminder.py -h
Usage: python lunar_reminder.py -d[npm] [output-file]
以iCal格式输出按年重复农历提醒信息,不指定输出文件时输出到标准输出

 -h, --help             输出此帮助信息
 -d, --date=DATE        指定起始农历信息,可以使用如下格式:
                          1980/2/25,1980-2-25,1980.2.25
 -n, --number=N         指定重复的年数,默认只重复一年
 -p, --location=LOC     指定事件的地点
 -s, --summary=MESG     指定事件概要信息
 -D, --description=DESC 指定事件描述信息

# 从2009年开始生成以后50年生日信息,输出到mybirth.ical文件中
$ ./lunar_reminder.py -d 2009/2/29 -n 50 -s "我的生日(农历2/29)" mybirth.ical


源文件:lunar_reminder.py,它依赖于lunar.py

1 评论:

  匿名

2011年8月13日 17:53

centos 5, python2.4 , you script not work.

Any idea?
python ./lunar_reminder.py -h
File "./lunar_reminder.py", line 10
except getopt.GetoptError as err
^