如何从API获取事件的时区以进行重复的全天事件

时间:2018-08-03 04:02:59

标签: timezone google-calendar-api

Q1。如果事件在创建时未明确指定“时区”,为什么Event:Get API不提供(开始/结束时间的)“时区”字段?

Q2。为什么重复发生的全天事件会停留在主要时区?

当上述两个问题同时发生时,将是一个真正的问题。

假设,如果我们使用Google Calendar Web UI创建了一个重复事件,该事件从8月开始在每个月的3日重复一次。创建此事件时,此帐户的主要时区设置为GMT + 8。创建此事件后,如果我们将主要时区更改为GMT + 9,则Google日历上的该事件将显示为8/2(GMT + 8),这意味着(我们猜测)它会坚持当前的主要时区GMT + 9(8/3 0:00),然后Google在1/8(8/2 23:00)之前将其移回到GMT + 8,结果是8/2,而不是8/3。

即使我们可以接受第2季度定期发生的全天事件将坚持当前的主要时区,但我们不能接受Event:Get API不提供时区字段的事实!

如果没有时区字段,则如果我们尝试为上述重复全天事件使用相同的开始/结束时间来创建新事件,则该事件将使用UTC作为其显示时区。在Google日历网络用户界面上,假设主要时区现在为GMT + 8,那么新创建的定期全天活动将显示为8/2(UTC),而不是8/3(GMT + 8)。这是因为它坚持当前的主要时区GMT + 8,然后Google将其改回了UTC(8/2 16:00)。我们需要原始事件的时区,以便将新创建的事件设置为GMT + 8作为原始事件!

尽管我们可以使用Settings:Get API检索主要时区,但是此值可能没有用,因为可以随时对其进行修改,因此创建事件的时区不必与当前主要时区相同。 / p>

有人知道Q1或Q2吗?我们如何解决这些问题? 谢谢!

0 个答案:

没有答案