icalendar库来生成icalendar文件的vtimezone部分的示例? 我认为这可以通过使用iCalendar.cal.cal.timezone组件类来完成,但还不知道如何确切知道。
值得一提的是,iCalendar文件的结果部分与Mac os x Ical程序中的此导出的示例相似(或类似,但仍然有效的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
到目前为止,我有此工作代码,但不包括所需的标准和日光Vtimezone元素。
import icalendar
timezone = icalendar.cal.Timezone()
timezone.add('TZID', 'America/Denver')
timezone.to_ical()
目前似乎是不可能的,至少没有使用pytz进行猛烈的黑客攻击。
正在进行的讨论,有关相应的icalendar问题的最新更新。您可以在那里找到一些黑客代码。 this this ricalendar问题似乎是为vtimezone-> icalendar转换实施的东西。
icalendar
,或者,如果您创建了日历,则可以运行它以将其抛光:
from icalendar import Timezone
tz = Timezone.from_tzid("Europe/Berlin")
print(tz.to_ical()[:36])
BEGIN:VTIMEZONE
TZID:Europe/Berlin
我认为这非常重要,因为我们希望每个人都能够生成有效的iCalendar文件。 文献: