【问题标题】:Google Calendar producing different result between importing from Android App vs Web and IphoneGoogle Calendar 在从 Android App 与 Web 和 Iphone 导入之间产生不同的结果
【发布时间】:2019-07-19 11:06:24
【问题描述】:

我想知道我生成的 .ics 文件中是否指定了任何错误,这是对 this thread 的后续行动,解决方案已在其中实施,但在这种特殊情况下,要么我发现了应用程序的错误,要么没有从我们这边正确实施。

给定 .ics 文件,内容如下

BEGIN:VCALENDAR
PRODID;X-RICAL-TZSOURCE=TZINFO:-//\, Inc.//NONSGML website.co
 m//EN
CALSCALE:GREGORIAN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID;X-RICAL-TZSOURCE=TZINFO:America/Los_Angeles
BEGIN:STANDARD
DTSTART:20181104T020000
RDATE:20181104T020000
RDATE:20191103T020000
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20190310T020000
RDATE:20190310T020000
RDATE:20200308T020000
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
CREATED;VALUE=DATE-TIME:20190221T110121Z
DTEND;TZID=America/Los_Angeles;VALUE=DATE-TIME:20190308T100000
DTSTART;TZID=America/Los_Angeles;VALUE=DATE-TIME:20190308T090000
DTSTAMP;VALUE=DATE-TIME:20190221T110121Z
ATTENDEE#<Client 1122742 "test1 account">
UID:6bOpCpTxArFlX3jvFD7NNLuROX@website.com
DESCRIPTION:One Hour Appointment
URL:https://app.local.website.com/appts/UQ4hwz3RJw
SUMMARY:Appointment with BUG_LOCAL
ORGANIZER;CN=Hakim Ahmad;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:notif
 ications+development@email.website.com
RRULE:FREQ=WEEKLY;UNTIL=20250316T070000Z
SEQUENCE:0
END:VEVENT
END:VCALENDAR

在这个测试中,如果我按照Import events into Google Calendar 从 Web 界面导入文件,则使用单个 google 帐户。我会得到如下结果:

PST-8: screenshot for PST-8 from web import

started on 8th March 2019, 9am
PST -> PDT switch on 10 March 2019, 2am*
started on 15th March 2019, 9am
started on 22th March 2019, 9am
etc..

格林威治标准时间+8: screenshot for GMT+8 from web import

started on 9th March 2019, 1am
PST -> PDT switch on 10 March 2019, 6pm*
started on 16th March 2019, 12am
started on 23th March 2019, 12am
etc..

与 android import 生成的结果相反:

PST-8: screenshot for PST-8 from android import

started on 8th March 2019, 9am
PST -> PDT switch on 10 March 2019, 2am*
started on 15th March 2019, 10am
started on 22th March 2019, 10am
etc..

格林威治标准时间+8: screenshot for GMT+8 from android import

started on 9th March 2019, 1am
PST -> PDT switch on 10 March 2019, 6pm*
started on 16th March 2019, 1am
started on 23th March 2019, 1am
etc..

还使用 Mac 日历和 iOS 日历进行了测试,产生的结果与网络导入的结果相同。

这是在多个 android 设备上测试的,因此“错误”在 android Google 日历应用中是一致的。

还检查了导入时区是否起到了它没有发挥的作用。

对此我有什么办法吗?已经通过多种渠道联系谷歌,但没有得到任何回复。

一些参考资料: * PST-8, GMT+8 comparison of time switch on 10th of March 2019

Answer 后续跟进的其他参考资料:

类似的.ics翻译成zulu时间:

BEGIN:VCALENDAR
PRODID;X-RICAL-TZSOURCE=TZINFO:-//\, Inc.//NONSGML website.com//EN
CALSCALE:GREGORIAN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
CREATED;VALUE=DATE-TIME:20190221T110121Z
DTEND;VALUE=DATE-TIME:20190308T180000Z
DTSTART;VALUE=DATE-TIME:20190308T170000Z
DTSTAMP;VALUE=DATE-TIME:20190221T110121Z
ATTENDEE#<Client 1122742 "test1 account">
UID:6bOpCpTxArFlX3jvFD7NNLuROX@website.com
DESCRIPTION:One Hour Appointment
URL:https://app.local.website.com/appts/UQ4hwz3RJw
SUMMARY:Appointment with BUG_LOCAL
ORGANIZER;CN=Hakim Ahmad;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:notifications+development@email.website.com
RRULE:FREQ=WEEKLY;UNTIL=20250316T070000Z
SEQUENCE:0
LOCATION:Los Angeles
PRIORITY:5
END:VEVENT
END:VCALENDAR

【问题讨论】:

    标签: android calendar icalendar


    【解决方案1】:

    看来你也遇到了和我一样的问题。

    如果您消除时区的废话并注意祖鲁时间的所有内容,它就会起作用。至少对我有用。

    DTSTART:20190226T123456Z

    我已经在这里发布了我的解决方案:How to generate an iCalender entry that works on Outlook, Android and iOS

    【讨论】:

    • 我通过删除 VTIMEZONE 块相应地修改 .ics 文件,并使用祖鲁时间并相应地对其进行格式化。它仍然产生与以前相同的输出
    • 您之前是否计算过您的 UTC 目标时间?我的意思是,如果您想在今天的 CET(欧洲中部时间)有 08:30 小时,您需要将其编码为 20190307T073000Z。
    • 是的,我做到了。我把从前一个修改的ics文本放入问题中以供参考。
    • 能否附上那个新的 ics 文件。
    • 是的,我将 ics 文件的全文粘贴到问题的底部。
    猜你喜欢
    • 2014-07-23
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 2015-04-24
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多