I changed it to 0, so will that mean I am assumed to be on UTC, or BST in winter ?
I think I was being stupid originally, and reading the bit about an ‘offset’ I wondered ‘offset from what?’ and speculated that it might be an offset from my browser’s reported local time.
I do apologise sincerely for being thick: Since it is actually the server’s Unix time (UTC) + offset, then does that mean the server won’t do summer time ever, so offset=0 means I will see UTC? Or otherwise if it actually produces text output that is BST clock-on-the-wall local ‘time’, then will that show summer time when we’re in summer? But if so, how does it know to do that rather than UTC?
I thought different time zones would have different rules about summer time yes/no and start/end times, and then UTC is an always-zero-offset override instead of the per-territory zone BST which has offset 0 in winter. Does that make sense? I’m asking myself how much information the system would need to determine all the per-territory time zone locale. I’m assuming some systems have a database of time zones’ names and info so that apps don’t have to reinvent the wheel, and possibly database updates could be sent out, centrally managed, to allow change when territories change their policies or when new territories are added. I’ve seen UI with enumerated named time zone territories plus UTC as an override, one extra entry.
I’ve never had to handle this myself because everything I’ve ever written has been UTC-based. With one embarrassing exception. I once co-authored a comms program for a large financial organisation. They had a number of tiny pocket computers and sent messages from them to a server and back. One genius idea was adding a function whereby the time could be set correctly by an admin on one machine and then this correct time would get propagated as the machines talked to one another until after a while all would get the right time. All went well until unknown to me the company had one or two machines in the USA while most were in London. A US machine was set by someone to local time on the US east coast (EST). It then sent this value to a machine in London, which then, believing this value, set its own clock to be five hours out and then went around and poisoned all the other machines. Someone then corrected this madness so that the London machines then told the US ones and set them incorrectly too. Quickly realising this, in horror, I changed the code to use Unix time (UTC) everywhere, having stupidly picked the wrong library function, one that returned wall-clock local ‘time’ instead of the true time. Pushed out an update and problem solved. I had invented the world’s first chronovirus.