0

Google カレンダーでイベントのタイム ゾーンをどのように変更しても、Android で Google カレンダー API を使用して取得すると、開始と終了の DateTime 属性の後ろに常に「-04:00」文字列が続きます。私がしていることは、Web からイベントを作成し、Android エミュレーターで結果を表示することです。

例:
タイム ゾーンがカナダのトロント (カレンダーのタイム ゾーンである参考までに) であるイベントを作成すると、次のように表示されます。

"dateTime" : "2012-04-25T10:00:00.000-04:00",

台湾の台北に変更すると表示されます

"dateTime" : "2012-04-24T22:00:00.000-04:00",

時間は自動的に変更されるため、実装には最適ですが、「-04:00」は何を表しているのでしょうか。(参考までに、トロントのタイムゾーンは「GMT-05:00」です)

4

1 に答える 1

1

これは UTC オフセットであり、イベントの時間がどのタイム ゾーンで表現されているかを示しています。これは、おそらくカレンダーのタイム ゾーン設定から来ています。トロントは現在UTC-4:00です。つまり、UTCクロックから 4 時間遅れています。そのため、イベントを台北に移動したとき、同じ現地時間 (25 日の午前 10 時) のままにしましたが、API はそれをトロント時間で表現します。つまり、トロントで 24 日の午後 10 時にイベントが発生します。

トロントのタイム ゾーンは GMT-5:00 (UTC と GMT はほぼ同じです) です。これは、サマータイムがなければ、それがオフセットになるためです。ただし、API はトロントが現在夏時間であることを認識しており、それに応じてオフセットを変更します。

この日付/時刻形式はISO 8601であり、API で時刻を表す通常の方法であることにも注意してください。

于 2012-04-22T05:47:42.227 に答える