0

Pythonクライアント用のGoogleCalendarAPIを使用してイベントを挿入しました が、どういうわけか、意図した時間より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ではありません。
タイムゾーンを日付変数の「001Z」ではなく「000Z」に変更しようとしましたが、役に立ちませんでした。もちろん、1時間前に引くこともできますが、なぜそうなるのでしょうか。

4

1 に答える 1

3

18:30:00.000Z18:30:00.001Zは同じタイムゾーン、つまりZUTCで指定されますが、1ミリ秒で区切られ0ます。これは、変更し1たのがタイムスタンプの小数秒の部分であったためです。

UTCではなくCETでAPI時間を指定したい場合は、次のようなものを試すことができます2012-10-29T18:30:00+01:00(APIがRFC-3339タイムスタンプをサポートしている場合)。または、それでも問題が解決しない場合は、最初に希望の時刻をUTCに変換します。

于 2012-10-28T22:11:06.523 に答える