UK is under BST (UTC+1) for half the year but people are usually just taught that the UK is GMT (UTC+0) which is based in the time in Greenwich, withought mentioning DST. I suppose it's also possible everyone is taught BST and just forgets about it because daylight savings sucks, but either way most people seem to think GMT and UK time are the same thing.
This means you'll get people asking for GMT times when they want BST or UK local time.
I too was similarly confused by the original comment at first, but I think they're referring to the fact that 6pm GMT is 7pm in London during the summer (BST), and 6pm in London the rest of the year. It seems OP and "them" are both correct in that hypothetical exchange.
The term UT is specifically created to divorce universal timekeeping from whatever UK's timezone is doing, whether DST is on or not, etc. and the derived term UTC for when started adding leap seconds.
GMT hasn't been a thing since UTC. It should be scrubbed from the vocabulary and old farts still using it should be shunned and reeducated.
Reminds me of a LARP I was on one time. A group of people I was doing stuff with ended up always meeting at 10 because we redefined "10" to mean "whenever we all meet".
GMT doesn't have daylight savings, but most people won't be as precise in language. Here in Germany, we might also tell people "GMT+2", even though it changes to GMT+1 in winter. Like, I don't even know what the correct shorthand would be for our timezone...
When the API returns UTC, but mandates that you give it an offset which it will add or subtract from the UTC time, while still adding the Z at the end.
Mandating UTC everywhere and eliminating the concept of time zones altogether is all a political candidate needs to do in order to earn my vote in 2024.
Seriously, what is the point of time zones? The only explanation I’ve ever heard is “well if we didn’t have time zones, half the world would be expected to be awake when it’s dark out!” No. We could all just literally adjust the times of our business operations based around when daylight is usual for the different geographic regions as they have the sun shine on them. The physical “zones” of time zones could remain the same, and in those zones “noon” would just mean something other than “12:00.” “Noon” for one region could be 2300 while what is considered “noon” for another region could be 1800.
(And for my next rant: why the 24 hour clock is superior to the 12 hour clock… reason number 1? There’s 24 hours in a day…)
What you're proposing is literally time zones but without shifting the actual clock, you still end up with all the issues and you remove the link between the hour of day and the sun's position for people lol
Plus who gets to decide that everyone switches over and what is the new global time?
You do not still end up with the same issues. Somebody booking a ticket for a hotel room to be available at 1300 from a different time zone than said hotel will not arrive at the hotel to learn that the check in time is different from their expectation.
Regarding “the link between the hour of the day and the sun’s position,” I’m asserting that we should recalibrate this expectation based on time zones, rather than changing the clock to some fictitious time based on “noon” always equaling “1200.”
who gets to decide that everyone switches over and what is the new global time?
“Global time” in this context is already decided to be UTC. And no one gets to decide on the switch. This is a dream that will never come to fruition. 😕
Implementing such a change has another problem: Who gets to have the time-zone that's noon at noon?
Are we going to let the British continue to get away with it? Even the excuse of "that's the way it has to be to keep things simple" would cause the French to revolt. Again. They still don't like to talk about the fact that it's Greenwich and not Paris that's the prime meridian.
Swatch's "Internet time" was a decimal system designed to mitigate the problem because no-one would have any idea what the old time was supposed to be, but people are used to the base-60 system. It didn't and won't catch on.
And it doesn't fix the "0 isn't my midnight" problem, which is pretty close to the original.
It also doesn't fix the "what time of day is it elsewhere in the world" problem, which still requires knowledge of time differences. You know. Time zones.
Who gets to have the time-zone that’s noon at noon
I am asserting that we abandon this concept of “noon” having to be precisely when the pixels on the my clock take the form of “12:00”.
Who cares? Just let “noon” be whatever mid-day is where you live.
0 isn’t my midnight
Same thing, why does it matter? Why do people cling to this? Midnight should be when you are mid-way through the night, regardless of what time a clock shows.
It also doesn’t fix the “what time of day is it elsewhere in the world” problem, which still requires knowledge of time differences. You know. Time zones.
I don’t have time zones memorized, so I have to look up this information when I need to know it anyway. I did say in my post that the [time] “zones” would still exist if I had my way with UTC. I do still think it’s valuable to know the operating hours for different parts of the earth- I just think we can track this without having to have the madness that is time zones. However, while answering this, I do feel what you’re saying. Perhaps we do keep time zones, but only as a way to tell time that is secondary to UTC? (As compared to today, where UTC is often an afterthought, if people even think about it at all.)
So organising a meeting for 03:30 has the problem of that not being working hours for some people, and you have to look up what working hours are in each area. What problem is that supposed to solve?
Boy, I would love to live in a place where store hours would be like this. So convenient.
And I’d love to have the change in the day be sometime in the middle of the day so that “see you tomorrow” means sometime later in the day. Or maybe different areas would use different conventions to refer to the time when the sun is out and most people are doing things and the time when most people are asleep.
It would also be so pleasant and relaxing to visit a new country and constantly have to calculate the country’s time offset in my head. There would probably be an app on my phone that I would constantly look at that would convert the time where I am to the equivalent time I am used to. I won’t have a sense of when meals are or when I should expect stores to be open, or when it’s reasonable to wake up without converting to the time I’m used to. Some might say the thing I’m used to is my time “zone”.
It would also be great for TV shows and books to always run into issues when talking about the time because there’s no universal reference.
Even the actual convenience of scheduling a meeting with people in different parts of the world has issues. Now, you know that whatever time you say is the time for all people. But instead of being able to just look up each person’s time zone and see “oh, it would be 3am there, so they’d be asleep”, you’d have to go to some website that tells you what time most people sleep or what time most people eat meals, or whatever, and see by how many hours it differs.
You already have an entire vocabulary for solar time (sunrise, morning, noon, evening, sunset, night, midnight). This being all of a sudden assigned to a different time on a clock does not change things in any dramatic fashion. It would also be a consistent change for your current location, guarantee it only takes you less than a work week to acclimate.
All the things you've described I've literally been doing for 6 months now. It is not a noticable difference and does not impact me.
Also, a book that says "it was 5 o'clock" is objectively more boring than one that describes the shadows of twilight blanketing the scene in a checkering of shadow. Also TV shows show outside, where solar time is visibly apparent. The specific time is not nearly as relevant.
Also, you already look up time zones when scheduling international meetings, and those aren't going to tell you about siestas or other local practices which might affect scheduling. Maybe just actually ask the person what times will work when trying to schedule, and now since you're both using UTC, you both can figure it out together without looking up timezones.
To be fair, returning the actual timezone (as defined by tz.db) is useful if you don't just want the current time since you'll be able to take DST into account. Not sure how Vienna is -8 though, it should be +1 (or 2 depending on DST).
Your comment is a full throated endorsement of just working in UTC up until the presentation layer. Whether you intended that or not is another question.
UTC is better than most, but leap seconds are still awful. Computers should use GPS or TAI everywhere. Dealing with time zones and leap seconds is for human readability and display purposes only.
Sorry, why would you be "boned" if you have UTC time? Are you thinking of the case where the desired behavior is to preserve the local time, rather than the absolute time?
So many things would be fucked by a TZ change that it very rarely makes sense to consider it.
You're making a calendar app? Fuck it...some folks are gonna get confused...solved by simply emailing your users and telling them to reschedule shit because there's kind of a big event going on that everyone knows about and has been planning for for years. Hell in all liklihood this is probably easily solved by simply doing a mass migration of events scheduled before the TZ change.
You're coding for nuclear weapons? Maybe consider it. But probably not.
That is to say: there are ways to solve problems without resorting to writing the most complicated bullshit code ever seen. Unless of course you work on my team - in which case you'd be right at home.
This is absolutely fundamentally wrong. What you've described is what Nodatime calls an Instant, and it's a very important data class, but there are valid reasons to use other classes.
A LocalDateTime cares about the date and time locally. An event scheduled for 8am every Monday might use this. It would update accordingly if you move locations to a new locale.
A ZonedDateTime can almost be directly translated into an Instant, except that one time zone might change. If you go into or out of daylight saving time, or your region decides to change its time offset. Oslo time is still Oslo time. You use this if your event occurs at a specific time in a specific location.
An OffsetDateTime is like a ZonedDateTime, but instead of being tied to a specific time zone (e.g. "Oslo time") it's tied to a specific UTC offset (e.g. UTC+1).
You don't have to use Nodatime, but you should at least think deeply about what your time objects actually represent and what is the best way to represent them.