. ics文件在保存该文件时显示时间相差1小时


.ICS file showing 1 hour different in time when save that file

我有一个将日历约会发送给用户的程序。然而,这些用户处于许多不同的时区。当我创建.ics文件时,我必须在GMT时区中创建时间,因为我们的服务器时区是GMT。然后它们被发送给分散在许多时区的用户。他们在保存。ics文件时收到的时间相差1小时。

例如,我安排了8月8日11:30 - 12:30的约会,它显示的是8月8日12:30 - 13:30

我的ICS代码在这里:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//test.com//NONSGML kigkonsult.se iCalcreator 2.18//
METHOD:PUBLISH
X-WR-TIMEZONE:Europe/London
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
UID:20140806T175536-69581448@test.com
DTSTAMP:20140806T122536Z
DESCRIPTION:Teste
DTSTART:20140808T063000Z
DTEND:20140808T070000Z
LOCATION:
SEQUENCE:0
SUMMARY:Test
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Test
TRIGGER:-PT0H15M0S
END:VALARM
END:VEVENT
END:VCALENDAR

此代码由php代码生成

由于11:30 UTC 英国夏令时12:30,我强烈怀疑这里没有问题。邀请中的UTC时间是明确的。您的日历应用程序知道您的时区,并以您的当地(夏令时)时间显示会议。在东京和悉尼收到同样邀请的人也会看到会议在他们当地时区显示。

您将您的时区定义为使用夏令时的"Europe/London",并将UTC中的DTSTART/DTEND定义为没有夏令时的