I know that the API returns times that are converted (through a very convoluted process) to ISO-8601. My question is, is the conversion made while taking into account the local daylight savings (or not) of a given location? The official documentation says nothing about this.
I just worked on this on Friday.
I can confirm that if you have the Events Timezone migration enabled, the ISO-8601 dates that are returned are corrected for the presence/absence of Daylight Savings at the events start / end time.
Related
It seems google classroom API always returns a dueTime value - and if no time is selected when entering an assignment in classroom, 8:59 is used by default. How do I know if there was no time entered at all, or if 8:59 was really used?
Based from this documentation:
dueTime
description- Represents a time of day. The date and time zone are
either not significant or are specified elsewhere. An API may chose to
allow leap seconds. Related types are google.type.Date and
google.protobuf.Timestamp.,
Note: Optional time of day, in UTC, that submissions for this course work are due.
This must be specified if due_date is specified.
When I try to save event to Google with some specific time zones, this time zones get converted to different time zones.
e.g.
When I use insert: https://developers.google.com/calendar/v3/reference/events/insert with the following body:
I get wrong timezones in the response:
Why does Google convert it to something else?
I want to keep timezones that I chose because it looks confusing for the user.
TLDR;
I think the that timezone has been deprecated and not supported by Google Calendar.
Per the docs the timezone is IANA, and that timezone has been deprecates
https://developers.google.com/calendar/v3/reference/events#resource
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Also Canada/Saskatchewan is supposed to be -06:00, why is it plus +03:00 in your json request?
Lastly, I don't see Canada/Saskatchewan in the available Google Calendar Timzones.
My app is using the universal maps URL to open a local transit route map.
I have no problem getting the map I want using something like:
https://www.google.com/maps/dir/?api=1&origin=42.352312,-122.869691&destination=42.324418,-122.871534&travelmode=transit
I would like to add departure time to the url, but having no luck getting the map to show the route for the requested departure.
From what I can gather, the departure time parameter is 'departure_time', and the value is in Julian seconds.
I was hoping the following URL would give me the route that departed around 9:30am PST June 6 2018:
https://www.google.com/maps/dir/?api=1&origin=42.352312,-122.869691&destination=42.324418,-122.871534&travelmode=transit&departure_time=32503647540
But no matter what time I specify, it returns a route at the current time, not the time I requested.
So, what am I doing wrong?
I figure either the parameter name is wrong (I also tried 'departuretime'), or my julian date calculation is wrong, or departure time is not supported.
Anybody?
Does anyone know a way in an ICS file to specify that all times are written in the local time at the location? I thought that leaving the 'Z' off the end of times, and using the TZID="America/Denver" (for example) in DTSTART and DTEND lines accomplished this, but MS Outlook assumes that all times are in the location's standard time. My events all take daylight savings time into account.
Do I have to rewrite the app so times are in UTC?
Do I have to include a block at the beginning that defines any time zone? This is difficult since I want to support every time zone in the Olson database.
But currently MS Outlook pushes every appointment that's during daylight savings time forward one hour, which is wrong.
Thanks in advance for any help.
I had a very similar problem to this, and I did a lot of research but the solution still isn't the best. I'm not sure why Outlook doesn't handle local times correctly, it makes scheduling local time appointments for other time zones a big hassle. The standard clearly indicates that if no time zone is specified, and the UTC 'Z' character isn't used, then the time should be the same no matter what time zone the receiver is in. However, Outlook doesn't adhere to this, and changes the time depending on the sending client time & receiving client time.
In my case I have a site running which allows certain users to schedule other users for appointments.These users can be located in many different time zones. Luckily for me, the site is specifically hosted in just one time zone. Thus, my solution was to write a simple c# switch statement that offsets the time based on where the receiving user is relative to where the server is. I don't specify a time zone in the .ics file, and I don't mark the time as UTC via the 'Z' character.
I'm maintaining a web application which deals with some kind of subscriptions. Users can to renew their subscriptions from 2 months before expiry (not earlier than that). Sometimes user does not renew before expiry and get grace period which is of 3 months. Now he can renew in these 3 months of grace period.
Now the problem part. In the previous transactions of renew requests I have to show what was the offer period for that particular request (subscription start and subscription end period if renew was granted). Things are pretty simple if user renews before expiry, but I'm not able to get things straight if there is grace period specially when the subscriptions is expiring in last months of the year. Also there sometimes calculations go haywire when subscription is ending in jan or feb.
All this is happening because offer period is not saved with the application anywhere (I don't know why). so if subscription is ending in 20 October 2008 and renew application is submitted in 16 January 2009 (because of grace period) the offer period should be 21 October 2008 to 20 October 2009.
How can I calculate correct offer period based on renew request submission date for old renew applications?
EDIT:- Now is 2010, suppose user is viewing past transaction from year 2009, when he submitted request to extend subscription from 21-10-2008 to 20-10-2009. But he has got grace period and requested renew on 16-Jan-2010. As I don't have 21-10-2008 to 20-10-2009 stored anywhere I have to calculate that it was 21-10-2008 to 20-10-2009 when the request was logged. And this is where I'm having trouble.
#TheVillageIdiot,
(A)> Now is 2010,
So far so good . . .
(B)> suppose user is viewing past transaction from year 2009,
Yup, I’m with you . . .
(C)> when he submitted request to extend subscription from 21-10-2008 to 20-10-2009.
So you can see somewhere in the database or in a log file that the subscription was from 21-10-2008 to 20-10-2009, right?
(D)>But he has got grace period and requested renew on 16-Jan-2010.
Ok. But this transaction date (16-01-2010) should not matter for the actual begin and end of the subscription. It is part of a constraint on when a “renew” can occur. (The other part of the constraint is the 2 months prior to expiry that you mentioned before.) Therefore you should never need to consider when a person renewed to know what the subscription begin and end dates are.
(E)>As I don't have 21-10-2008 to 20-10-2009 stored anywhere
Wait, then how in (C) do you know the subscription was from 10/08 to 10/09????
(F)> I have to calculate that it was 21-10-2008 to 20-10-2009 when the request was logged. And this is where I'm having trouble.
Yeah, unless you have it stored somewhere; I don’t see how you would know it was from 21-10-2008 to 20-10-2009 or 25-10-2008 to 24-10-2009 or 21-10-1908 to 20-10-1909.
I really think above in part (C) you must have the subscription begin and end dates around somewhere and as I commented in (D) you should be able to ignore when the actual renew request transaction was made in order to calculate the beginning of the next term.
Ok, now, I am going to assume that you truly do not have the subscription begin and end dates for past subscriptions stored somewhere. (Which I find really hard to believe.)
Here is a possible answer to your question:
You do have the customer’s current expiration date (otherwise you would not know when to begin the prior two month renew window or the three month grace window). So, given this current subscription expiration date you could work backwards on a year by year basis. In this way, you would be able to reconstruct all the customer’s past subscriptions.
However, there is a problem with this, if the customer failed to renew during the grace period then a new subscription probably began with a gap in time from the one prior.
Anyway, double check to ensure that there is no possible way to determine the subscription begin and end date. I think you will find them somewhere and should be able to get them into your database.
Good Luck.