【问题标题】:How to use the python icalendar.cal.Timezone class to create an icalendar VTIMEZONE如何使用 python icalendar.cal.Timezone 类创建 icalendar VTIMEZONE
【发布时间】:2012-10-31 13:30:02
【问题描述】:

谁能给我一个使用 python icalendar 库生成 icalendar 文件的 VTIMEZONE 部分的示例?

我相信这可以通过使用 icalendar.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

到目前为止,我有这个工作代码,但它不包括所需的 STANDARD 和 DAYLIGHT VTIMEZONE 元素。

import icalendar
timezone = icalendar.cal.Timezone()
timezone.add('TZID', 'America/Denver')
timezone.to_ical()

【问题讨论】:

  • 因为这是在test手工完成的,我担心这是要走的路

标签: python timezone icalendar


【解决方案1】:

目前这似乎是不可能的,至少在使用 pytz 进行大量黑客攻击时是不可能的。

关于相应icalendar issue 的最新更新正在进行讨论。你可以在那里找到一些 hacky 代码。

other icalendar issue 似乎是为 VTIMEZONE->icalendar 转换实现某些东西的地方。

【讨论】:

    猜你喜欢
    • 2011-10-04
    • 1970-01-01
    • 2012-05-06
    • 2017-08-12
    • 2018-12-21
    • 2013-05-10
    • 1970-01-01
    • 2011-04-08
    • 2011-03-25
    相关资源
    最近更新 更多