【问题标题】:Link to creating a Google calendar time not lining up with actual time链接到创建与实际时间不一致的 Google 日历时间
【发布时间】:2017-05-20 22:58:27
【问题描述】:

我有以下链接供用户创建 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

我最初使用Link to add to google calendar 中的示例发现了这一点

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

&dates=20140127T224000Z/20140320T221500Z

分解此格式,Google 用于确定开始/结束日期和时间的格式

Ymd\\THi00\\Z

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

所以我们只取这个 URL 的开始时间

224000 which is Hi00 or Hour:Minutes:Seconds

在我的 Google 日历中,我的时区设置为太平洋,即-7。将224000 GMT 转换为-7 Pacific 你会得到154000 这应该是3:40 PM

问题是当你点击链接时,(如果你是太平洋的)它显示的开始时间是2:40 PM

更奇怪的是结束时间221500 显示为3:15 PM。结束时间小时仍与开始时间相同,但显示提前 1 小时。我知道 Google 可能假设我的意思是提前 1 小时并为我进行更改,或者默认情况下 Google 可能会自动从开始时间增加 1 小时。

我不确定我是否理解 Google 在 URL 中使用的 GMT 格式,或者我的编码存在问题以及我如何表示它。有人知道这方面的信息吗?

【问题讨论】:

  • 能否分享您在此邀请问题的链接中使用的时间格式?
  • YYYYMMDDTHHmmss 我使用这种格式没有“Z”,它应该在日历邀请中显示当地时间,但它仍然显示 GMT

标签: google-calendar-api


【解决方案1】:

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

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

而且,在夏令时:

Google 日历使用 Coordinated Universal Time (UTC) 来帮助避免夏令时问题。

创建事件后,它们会转换为 UTC,但您始终会在本地时间看到它们。

如果一个地区改变了他们的时区,在我们知道改变之前创建的事件可能在错误的时区。

有了这个,您可能想尝试thread 中给出的解决方法,看看它是否对您有帮助。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-07-02
  • 2017-12-17
  • 2019-05-14
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多