0

我使用适用于 Python 客户端的 Google Calendar API插入一个事件, 不知何故,时间比预期晚了 1 小时。

这是片段。进口:

import gdata.calendar.data
import gdata.calendar.client
import gdata.acl.data
import atom.data

连接到 Google 日历:

calendar_client = gdata.calendar.client.CalendarClient(source='noApp')
calendar_client.ClientLogin('account@gmail.com', 'password', calendar_client.source)

创建事件:

event = gdata.calendar.data.CalendarEventEntry()
date='2012-10-29T18:30:00.001Z' # This is the time of event that I want to insert
event.when.append(gdata.calendar.data.When(start=date))

最后,插入事件

new_event = calendar_client.InsertEvent(event)

结果,我在日历中的时间是 10 月 29 日的 19:30,而不是 18:30。
我试图在日期变量中将时区更改为“000Z”而不是“001Z”,但这没有帮助。当然,我可以提前减去一个小时,但为什么会这样呢?

4

1 回答 1

3

18:30:00.000Z18:30:00.001Z在同一时区给出,即ZUTC,但相隔一毫秒——因为0您更改为1时间戳的小数秒部分。

如果您想在 CET 而不是 UTC 中给出 API 时间,您可以尝试类似2012-10-29T18:30:00+01:00(如果 API 支持 RFC-3339 时间戳)。或者,如果这不起作用,请先将所需时间转换为 UTC。

于 2012-10-28T22:11:06.523 回答