Calendar 1 hour off (daylight saving time)

MailEnable Exchange ActiveSync (EAS) - for EAS enabled devices (including iPhone, Windows Phone 7, Android, Nokia, etc).
Post Reply
isaak
Posts: 476
Joined: Sat Nov 11, 2006 12:10 am

Calendar 1 hour off (daylight saving time)

Post by isaak » Sat Jun 23, 2018 4:47 pm

Hello:

I have an EAS account configured in my iOS devices which is working properly, except for 1 issue: Calendar is showing 1 hour off between my iOS devices and the CalDav account in my Mac's calendar. This problem only occurs during 6 months and then it goes away. Then it appears again after 6 months and then disappears again. This makes me thinks that it has to do with daylight saving time configurations.

To diagnose, I have created 1 single event from my 3 different sources: Webmail (ME), iPad (iOS), Mac (macOS). The three of them have the time zone setting -6GMT (Here in El Salvador we DO NOT have daylight saving time, meaning during the whole year there is no time adjustment).

The 1 single event I am using as an example is: June 30th, 2018 at 1PM (El Salvador local time, -6GMT)

So, I created this event from Webmail, and the result is that the 3 calendars are showing the correct time: 1PM, June 30th.
Content-Type: multipart/mixed;
boundary="----------677C251E373B0A"
Subject: 1PM Webmail
X-StartTime: 19:00 30 Jun, 2018
X-FinishTime: 19:30 30 Jun, 2018
X-Class: APPOINTMENT.PERSONAL
X-Importance: 0
X-BusyStatus: 2
X-AllDayEvent: 0

------------677C251E373B0A
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

------------677C251E373B0A
Content-Type: text/calendar; charset=utf-8
Content-Transfer-Encoding: 7bit

BEGIN:VCALENDAR
PRODID:-//MailEnable//WebMail 3.0//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Central America Standard Time
BEGIN:STANDARD
DTSTART:19600101T000000
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=Central America Standard Time:20180630T130000
DTEND;TZID=Central America Standard Time:20180630T133000
LAST-MODIFIED:20180623T155909Z
TRANSP:OPAQUE
SEQUENCE:0
UID:8A2798B10BE947F5A42E9FCF011CFC63.CAL
DTSTAMP:20180623T155909Z
SUMMARY:1PM Webmail
PRIORITY:5
CLASS:PUBLIC
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:0
X-MICROSOFT-CDO-BUSYSTATUS:2
ORGANIZER:MAILTO:xxxxx@xxxxx.com
END:VEVENT
END:VCALENDAR

------------677C251E373B0A--

Then, I created this event again from my iPad, and the result is that the 3 calendars are showing the correct time: 1PM, June 30th.
Content-Type: multipart/mixed;
boundary="----------677C251E373B0A"
Subject: 1PM iOS
X-StartTime: 19:00 30 Jun, 2018
X-FinishTime: 19:30 30 Jun, 2018
X-IsRecurring: 0
X-Importance: 0
X-BusyStatus: 2
X-AllDayEvent: 0

------------677C251E373B0A
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

------------677C251E373B0A
Content-Type: text/calendar; charset=utf-8
Content-Transfer-Encoding: 7bit

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//MailEnable//MailEnable//EN
BEGIN:VTIMEZONE
TZID:Unk
BEGIN:STANDARD
DTSTART:20000101T000000
RRULE:FREQ=DAILY;BYSETPOS=0
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000101T000000
RRULE:FREQ=DAILY;BYSETPOS=0
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="Unk":20180630T130000
DTEND;TZID="Unk":20180630T133000
UID:BBF3A318064347338858CD617B5ACB490
SUMMARY:1PM iOS
LAST-MODIFIED:19700101T000000
END:VEVENT
END:VCALENDAR

------------677C251E373B0A--

Finally, I created this event again from my Mac, and the result is different. Only macOS shows the event at 1PM on June 30th, but Webmail and my iOS devices show 1 hour difference: 12PM, June 30th.
Content-Type: multipart/mixed;
boundary="----------677C251E373B0A"
Subject: 1PM Mac
X-StartTime: 18:00 30 Jun, 2018
X-FinishTime: 18:30 30 Jun, 2018
X-Class: APPOINTMENT.PERSONAL
X-IsRecurring: 0
X-Importance: 0
X-BusyStatus: 2
X-ReminderSet: 0

------------677C251E373B0A
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

------------677C251E373B0A
Content-Type: text/calendar; charset=utf-8
Content-Transfer-Encoding: 7bit

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//Mac OS X 10.13.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:America/El_Salvador
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
RRULE:FREQ=YEARLY;UNTIL=19880501T060000Z;BYMONTH=5;BYDAY=1SU
DTSTART:19870503T000000
TZNAME:CDT
TZOFFSETTO:-0500
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
DTSTART:19880925T000000
TZNAME:CST
TZOFFSETTO:-0600
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20180623T160045Z
UID:8DD80647-F2EC-487A-AF0B-D261A1B52983
DTEND;TZID=America/El_Salvador:20180630T133000
TRANSP:OPAQUE
X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:AUTOMATIC
SUMMARY:1PM Mac
DTSTART;TZID=America/El_Salvador:20180630T130000
DTSTAMP:20180623T160114Z
SEQUENCE:0
END:VEVENT
END:VCALENDAR

------------677C251E373B0A--

Notice the headers that each source creates. Although the DTSTART tag is correct in all three of them, the X-StartTime is incorrect in 1 of them, causing that Webmail Calendar and iOS devices show 1 hour less.

Webmail Calendar
Subject: 1PM Webmail
X-StartTime: 19:00 30 Jun, 2018
DTSTART;TZID=Central America Standard Time:20180630T130000

iOS Calendar
Subject: 1PM iOS
X-StartTime: 19:00 30 Jun, 2018
DTSTART;TZID="Unk":20180630T130000

Mac's Calendar
Subject: 1PM Mac
X-StartTime: 18:00 30 Jun, 2018
DTSTART;TZID=America/El_Salvador:20180630T130000

Do you see the time off? The event from each source is created at the same time:
1PM (-6GMT) equals to 19:00 GMT

However, I have marked in red the calendar that is creating the event 1 hour off:
1PM (-6GMT) not equals to 18:00 GMT


How can this be fixed? Like I said, all sources have the correct setting for the time zone: -6GMT Central America. We have no Daylight Saving Time. We observe Central Standard Time (CST) all year.

Thank you in advance for your assistance!

Post Reply