如何使用Python处理iCal标准记录中的时区差异?

2024-04-19 04:35:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从pythonggdataapi处理一个ical递归记录。在

DTEND: 20110421T190000
params for  DTEND:
   TZID [u'Europe/London']
DTSTART: 20110421T180000
params for  DTSTART:
   TZID [u'Europe/London']
RRULE: FREQ=WEEKLY;BYDAY=TH
VTIMEZONE
   TZID: Europe/London
   DAYLIGHT
      DTSTART: 19700329T010000
      TZOFFSETFROM: +0000
      TZNAME: BST
      TZOFFSETTO: +0100
      RRULE: FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
   STANDARD
      DTSTART: 19701025T020000
      TZOFFSETFROM: +0100
      TZNAME: GMT
      TZOFFSETTO: +0000
      RRULE: FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU

   X-LIC-LOCATION: Europe/London

我可以从event看出时间范围应该是17:00-18:00(英国夏令时),但是DTSTART/DTEND似乎列出了GMT,然后需要“标准”来修正?在

我尝试在python中设置一个自动进程来“读取”这些重复,并将它们复制为实际的日期和时间。在

为了保证准确性,最好的方法是什么?我知道dateutil可以解析时区信息,但是我应该选择哪一个,最重要的是我如何应用这个更改,以便获得一个具有“实时”时间的python datetime对象?在

谢谢:)


Tags: for时间paramsfreqlondoneuroperruleyearly