为什么我的时间在某些设备上搞砸了,但在其他设备上却很好?

Why are my times screwed up on some devices but fine on others?

我有一个通过 PHP 生成的日历,这样人们就可以将最新的时间表下载到他们的手机上。除了我的 iPhone 上的游戏时间减少了 6 小时外,它运行良好。游戏时间在 Windows 日历上显示得很好。

我试过调整时区和时间,但无法让它们在所有平台上都相同。

日历可在以下位置查看: 网络电话://cal.outbackthunder.com

道森, 您在 http://cal.outbackthunder.com 的 ics 文件具有 'local' 或 'floating' 次指定的事件日期。

因此,导入应用程序可能会使事件发生在其所在时区的那个时间。早上 8 点是所有时区的早上 8 点(想想一个旅行者闹钟——无论他们在哪个时区,他们都想在早上 8 点醒来,而不是提醒他们在家乡时区的早上 8 点给他们的伴侣打电话,然后他们会想要它以适应旅行时区。)

要么添加 Z 并发布 UTC 日期时间,要么添加时区的 TZID 标识符。

https://www.rfc-editor.org/rfc/rfc5545#section-3.3.5

查看规范中的这些示例:

示例:以下代表 1997 年 7 月 14 日,在 1:30 下午在新 约克市在三种时间格式中的每一种,使用“DTSTART” 属性.

   DTSTART:19970714T133000                   ; Local time
   DTSTART:19970714T173000Z                  ; UTC time
   DTSTART;TZID=America/New_York:19970714T133000
                                             ; Local time and time
                                             ; zone reference

如果您希望通用 public 能够使用 url,还可以通过尽可能多的验证器尝试 运行 您的 ics 文件。他们的报告往往略有不同。 EG:有人说 http://cal.outbackthunder.com

DATE-TIME value in [DTSTAMP] must be specified in UTC time

属性 [ORGANIZER] 必须指定一次