链接到创建与实际时间不一致的 Google 日历时间



我有以下链接供用户创建Google日历事件

https://calendar.google.com/calendar/render?action=TEMPLATE&text=Your+Event+Name&dates=20140127T224000Z/20140320T221500Z&ctz=America/Los_Angeles&details=For+details,+link+here:+http://www.example.com&location=Waldorf+Astoria,+301+Park+Ave+,+New+York,+NY+10022&sf=true&output=xml#eventpage_6

我最初使用链接到添加到谷歌日历的示例发现了这一点

我遇到的问题与URL的时间部分有关,即

&dates=20140127T224000Z/20140320T221500Z

为了分解这一点,谷歌用来确定开始/结束日期和时间的格式是

Ymd\THi00\Z

因此,您了解Google使用GMT作为URL中的标准时间,并根据其Google帐户中的用户设置正确转换它。例如(GMT-07:00) Pacific Time

因此,让我们只取此URL的开始时间,即

224000 which is Hi00 or Hour:Minutes:Seconds

在我的谷歌日历中,我的时区设置设置为太平洋,即-7。将224000GMT 转换为-7 Pacific,您将获得应该3:40 PM154000

问题是当您单击链接时(如果您是太平洋地区),它将开始时间显示为2:40 PM

更诡异的是221500显示为3:15 PM的末日。结束时间小时仍与开始时间相同,但显示提前 1 小时。我知道谷歌可能假设我的意思是提前 1 小时并为我做出更改,或者默认情况下,谷歌可能会自动从开始时间多添加 1 小时。

我不确定我是否理解谷歌在URL中使用GMT的格式,或者我的编码以及我如何表示它存在问题。有人对此有任何信息吗?

您可能需要查看此页面,其中讨论了Google日历如何使用时区。如前所述,

创建活动时,您会看到该活动以当地时区显示。它还会在您邀请的任何人的本地时区中显示,即使他们位于不同的时区。

而且,在夏令时:

Google 日历使用协调世界时 (UTC) 来帮助避免夏令时问题。

创建事件后,它们会转换为 UTC,但您始终会看到当地时间的日期。

如果某个地区切换了时区,则在我们知道更改之前创建的事件可能位于错误的时区。

有了这个,您可能想尝试此线程中给定的解决方法,看看它是否会对您有所帮助。

最新更新