谁能给我一个使用python icalendar库生成icalendar文件的VTIMEZONE段的例子?
我相信这可以通过使用icalendar.cal.Timezone组件类来完成,但是还不知道具体怎么做。
icalendar文件的结果部分最好类似于从Mac程序导出的示例(或者类似,但仍然是有效的icalendar格式)。
BEGIN:VTIMEZONE
TZID:America/Denver
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
DTSTART:20070311T020000
TZNAME:MDT
TZOFFSETTO:-0600
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0600
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
DTSTART:20071104T020000
TZNAME:MST
TZOFFSETTO:-0700
END:STANDARD
END:VTIMEZONE到目前为止,我有这个工作代码,但它不包括所需的标准和DAYLIGHT VTIMEZONE元素。
import icalendar
timezone = icalendar.cal.Timezone()
timezone.add('TZID', 'America/Denver')
timezone.to_ical()发布于 2014-12-08 21:45:58
目前,这似乎是不可能的,至少在使用pytz进行大量黑客攻击的情况下是不可能的。
有一个正在进行的讨论,在相应的icalendar issue上有相当新的更新。你可以在那里找到一些繁琐的代码。
这个other icalendar issue似乎是为VTIMEZONE->icalendar转换实现的地方。
https://stackoverflow.com/questions/13338391
复制相似问题