Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new calendar entry have a wrong time (2 hours later) with EWS & outlook for mac (clients, who sends specified timezone) #112

Closed
dominikde opened this issue Nov 26, 2024 · 1 comment

Comments

@dominikde
Copy link

Hi,

I am using outlook for Mac (Version 16.91.1) and when I add a new calendar entry, for example 14:00 german time (2pm), the calendar entry will be created with a wrong start and end time: 2 hours later! So you will see the meeting in the web interface starting at 16:00h (4pm) German time.

The timezone is correct on server and client. And when I use outlook for windows (same account), or active sync: all is correct. So I had a look at the XML communication to EWS for the calendar entry:

With the mac-outlook you see a Start Date/Time with value: 14:00+01:00

<t:Start>2024-11-25T14:00:00+01:00</t:Start>
<t:End>2024-11-25T14:30:00+01:00</t:End>

And also there is a new parameter for the StartTimeZone and EndTimeZone:

<t:StartTimeZone Id="W. Europe Standard Time"></t:StartTimeZone>
<t:EndTimeZone Id="W. Europe Standard Time"></t:EndTimeZone>

In the log from gromox I see, that this two TimeZone-URIs are completely ignored (not known from gromox):

ews: unknown field URI 'calendar:StartTimeZone' (ignored)
ews: unknown field URI 'calendar:EndTimeZone' (ignored)

Next I tried with a windows outlook, he uses 13:00 UTC in the XML for the same calendar entry and sends no Start/EndTimeZone-Parameter: 13:00:00Z

<t:Start>2024-11-25T13:00:00Z</t:Start>
<t:End>2024-11-25T13:30:00Z</t:End>

(13:00 UTC is the correct value for 14:00 german time = UTC+1)

Proposed solution: when a newer outlook is sending the parameters StartTimeZone + EndTimeZone (this happens, when a client is sending a explicit timezone), than convert the Start- and End-Time specified by '+' or '-' followed by hours and minutes (here +01:00) to the UTC-Time for further processing:

for example: 14:00:00+01:00 you have to calculate 14:00:00 - 01:00 = 13:00:00Z

Here is also a description from microsoft:
https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/time-zones-and-ews-in-exchange

Thanks a lot,
Dominik

@dominikde dominikde changed the title new calendar entry have a wrong time (2 hours later) with outlook for mac (clients, who sends specified timezone) new calendar entry have a wrong time (2 hours later) with EWS & outlook for mac (clients, who sends specified timezone) Nov 26, 2024
@jengelh
Copy link
Member

jengelh commented Jan 28, 2025

gromox-2.39-24-g93d9a6a08

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants