如何使用python iCalendar.cal.cal.timezone类创建一个ICALENDARVTIMEZONE

问题描述 投票:0回答:2
有人可以给我一个使用python

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转换实施的东西。
    
python timezone icalendar
2个回答
2
投票
我在第6版本中添加了vtimezone生成。

icalendar

,或者,如果您创建了日历,则可以运行它以将其抛光: from icalendar import Timezone tz = Timezone.from_tzid("Europe/Berlin") print(tz.to_ical()[:36]) BEGIN:VTIMEZONE TZID:Europe/Berlin

我认为这非常重要,因为我们希望每个人都能够生成有效的iCalendar文件。 文献:


0
投票
https://icalendar.readthedocs.io/en/latest/api.html#icalendar.cal.cal.timezone.from_tzid

Https://icalendar.readthedocs.io/en/latest/api.html#icalendar.cal.cal.timezone.from_tzinfo

Https://icalendar.readthedocs.io/en/latest/api.html#icalendar.cal.calendar.calendar.add_missing_timezones

https://github.com/collactive/icalendar/issues/722

  • 载体:
  • Https://pypi.org/project/ICS-VTIMEZONES/
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.