Google Calendar Event.Date Time中的“-04:00”是什么意思?

时间:2012-04-22 05:30:31

标签: android json datetime google-calendar-api

无论我如何更改Google日历中事件的时区,在Android上使用Google Calendar API提取时,始终会在“开始和结束”的DateTime属性后面显示“-04:00”字符串。我所做的是从网络创建一个事件并在Android模拟器上查看结果。

例如:
如果我创建的活动时区位于加拿大多伦多(仅供参考,即日历的时区),则会显示

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

如果我改为台湾台北,它会显示

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

小时数会自动改变,这对于实施很有帮助,但“-04:00”代表什么? (仅供参考,多伦多的时区是“GMT-05:00”)

1 个答案:

答案 0 :(得分:1)

这是UTC偏移量,告诉您事件的时间表示在哪个时区。这可能来自日历的时区设置。多伦多目前位于UTC-4:00,意味着比UTC时钟落后4小时。因此,当您将活动移至台北时,您将其保留在当地时间(25日上午10点),但API在多伦多时间表示;即该事件将于24日晚上10点在多伦多举行。

多伦多的时区是GMT-5:00(UTC和GMT大致相当)因为没有夏令时,这就是偏移量。 API知道多伦多目前正在夏令时,并相应地改变偏移量。

值得注意的是,这种日期/时间格式为ISO 8601,是在API中表示时间的常用方法。