Send a Meeting Request with System.Net.Mail - asp.net

I am using this example code to send a meeting request. I am having a problem: every time I use the code, the meeting time is always the wrong time.
For example: DTSTART:20120710T143000Z gives an appointment in Outlook Tuesday, July 10, 2012 4:30 PM-5:30 PM when it should give Tuesday, July 10, 2012 2:30 PM-3:30 PM. Why is that happening?
Our local time is UTC/GMT +3 (Jordan Standard Time) in the summer and UTC/GMT +2 in the winter. Every time I make an appointment through outlook it is always the right time.

The start time you place in your appointment should be a UTC time. I suspect you are a inserting local (Jordan) time. This explains the two hour difference, because afaik UTC does not take daylight saving time into account.
SO resources:
Convert somebody's local time to the UTC time
Daylight saving time and time zone best practices
Convert UTC/GMT time to local time

Related

Recurrence event with RRULE plugin Timezone issue daylight saving time

The problem occurs when you have an event, which starts for example on October 23 11:45, repeats every day, with no end date
Once October 30 reaches, this event starts to be shown from 10:45 (Because in my country daylight saving time happens on a night from 29 to 30 October)
Is there are any way to prevent this behaviour ?
What I tried already: use tzid on RRULE plugin which I'm using for recurrence
Changing timezone of fullcalendar itself (per parameter) is not an option for me
I'll attach fullcalendar representation of this problem
I'm expecting to see that event starting at 11:45 and not 10:45
Event series before savings day
Event series after savings day
You can notice how hour chagned

Timezone confusion with switching CEST to CET

I'm currently building a system where you can create normal appointments and recurring appointments like in Microsoft Outlook. The database stores the datetime values as UTC without the timezone. When creating recurring appointments, I store the start time in a separate column. Now my problem:
When a user creates a recurring appointment starting on 2021-10-01T20:00:00+02:00 (it will be stored as 2021-10-01T18:00:00Z in the database) and ending on 2021-11-30T21:30:00+02:00 (it will be stored as 2021-11-30T19:30:00Z in the database) recurring every wednesday and friday a week. So the duration of the appointments is 1 hour and 30 minutes.
If I now query all appointments in the timespan between 2021-10-01 and 2021-11-30 and the timezone of my local device is CEST (Central European Summer Time (UTC+0200)) or CEDT (Central European Daylight Time (UTC+0200)), all appointments are starting at 20:00 and ending at 21:30. If I query all above appointments one month later (after CEST is switchted to CET (Central European Time (UTC+0100)), all appointments are starting at 19:00 and ending at 20:30 because of the timezone of my local device but I want the appointments to always start at the time it was initially created (In this example always from 20:00 to 21:30.
What is the best approach for this? Should I store the timezone in which the appointment is created and convert it to this timezone at query time?

Why are my Google Data Studio Scheduled Reports Delayed?

I've been running a couple of weekday Google Data Studio reports for many, many months this year. They are both scheduled to be delivered via email to their recipients at 6:00 AM every morning (CDT). Typically, they arrive in our Outlook email within about 10 minutes after the 6:00 AM hour each day.
Something changed starting October 26, 2020. The arrival times are delayed for both reports by over an hour (1:44, 1:23, 1:19, 1:03) to be exact. I changed both reports' schedules to arrive at 3:30 AM versus 6:00 AM. Still, they arrived an hour and 3 minutes later than scheduled.
Do you have any suggestions as to where to probe for the change which triggered these delays? It it our system? Is it somewhere within the Google's stack? Daylight savings time change triggered somewhere?
I provided a log of my experience with these delays for additional context.
Thank you!
On Sunday, October 25th happened the annual switch from daylight saving time to standard time. Maybe this explains the delay?

Link to creating a Google calendar time not lining up with actual time

I have the following link for a user to create a Google calendar event
https://calendar.google.com/calendar/render?action=TEMPLATE&text=Your+Event+Name&dates=20140127T224000Z/20140320T221500Z&ctz=America/Los_Angeles&details=For+details,+link+here:+http://www.example.com&location=Waldorf+Astoria,+301+Park+Ave+,+New+York,+NY+10022&sf=true&output=xml#eventpage_6
I originally found this out using the example from Link to add to google calendar
The issue I am having is to do with the time part of the URL which is
&dates=20140127T224000Z/20140320T221500Z
to break this down the format for this in which Google uses to determine the start/end date and time is
Ymd\\THi00\\Z
So you understand Google uses GMT as a standard time in the url and converts it correctly according to the users settings in their Google account. For instance (GMT-07:00) Pacific Time
So let's take just the start time of this URL which is
224000 which is Hi00 or Hour:Minutes:Seconds
In my Google calendar, my timezone settings are set to Pacific which is -7. Converting 224000 GMT to -7 Pacific you get 154000 which should be 3:40 PM
Problem is when you click the link, (if you are pacific) it is showing me the start time as 2:40 PM
What's even weirder is the end time which is 221500 shows as 3:15 PM. The end time hour is still the same as the start time but shows 1 hour ahead. I get that Google is probably assuming that I mean 1 hour ahead and makes that change for me, OR by default Google probably adds 1 hour more from the start time automatically.
I am not sure if I am understanding the format Google uses GMT in the URL or there is an issue with my coding and how I am representing that. Anyone have any info on this?
You may want to check this page wherein it discussed how Google Calendar uses time zones. As mentioned,
When you create an event, you'll see it in your local time zone. It will also show up in the local time zones for anyone you invite, even if they're in a different time zone.
And, on Daylight savings time:
Google Calendar uses Coordinated Universal Time (UTC) to help avoid issues with daylight savings time.
When events are created, they're converted into UTC, but you'll always see them in your local time.
If an area switches their time zone, events created before we knew about the change might be in the wrong time zone.
With this, you may want to try the given workarounds in this thread and see if it will help you.

google calendar time not showing correct start and end time

I am constructing a link (programmatically) to create a google calendar link. I found that when I pass it a date in the following format
....&dates=20151005T170000Z/20151007T190000Z&....
where I'd expect it to show 5:00 PM to 7:00 PM, it instead shows 1:00 PM to 3:00 PM
Here is the full link:
`https://www.google.com/calendar/render?action=TEMPLATE&text=The+Annual+%20Event&dates=20151005T170000Z/20151007T190000Z&sprop=website:turnaround.org&location=Fairmont+Scottsdale+Princess+7575+East+Princess+Drive+Scottsdale,+AZ+United+States&details&website=https://example.com&pli=1&sf=true&output=xml#eventpage_6'
My only thought would be that its a timezone issue, but I don't see that anywhere in the url.
You are passing the time zone as Z
20151005T170000Z <-- here at the end of the date/time
The letter Z ("Zulu") indicates Greenwich Mean Time (GMT) or Coordinated Universal Time (see UTC±00:00). They are used in conjunction with military time: for instance, 6:00 a.m. in zone UTC−5 is written "0600R" and spoken "zero six hundred Romeo".
And
https://support.google.com/calendar/answer/37064?hl=en
Google Calendar uses Coordinated Universal Time (UTC) to help avoid issues with daylight savings time.
When events are created, they're converted into UTC, but you'll always see them in your local time.
If an area switches their time zone, events created before we knew about the change might be in the wrong time zone.
So make sure all times are in UTC time or don't put a Z on the time and instead add the &ctz=TIMEZONE to the URL.

Resources