0

无论我如何更改 Google 日历中事件的时区,当在 Android 上使用 Google 日历 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”)

4

1 回答 1

1

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

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

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

于 2012-04-22T05:47:42.227 回答