It turns out we never did a release before 10:00, because it ran fine for a few years, but the regex constructing the filename could not deal with hours consisting of 1 number.
Oh well, never write production shell scripts while your platform is burning.
The fix is literally 1 character, but I only get access when production burns. So I was not allowed to change it and the owner does not want to implement it and file all release paperwork it entails. Instead, mgmt forbid this type of release before 10:00.
I had a "switch(moon_phase)" and forgot one of the cases... And the Android app was in debug mode, so any uncaught exception brought the whole thing down.
I ended up getting the known correct unixtime from the server to try to guess which timezone offset the user actually meant and correcting the result of System.currentTimeMillis() and my formatting for that.
Not sure where you are located, but this can be particularly bad in the UK where winter time happens to coincide with UTC.
To fix this they ran a SQL script that changed the end date on the DST switch over but that had some poor assumptions in it and made it worse.
It also had to be correct in the past and the future.
I just rewrote the whole fucking thing from scratch.
There may be some niche astronomical or legal(?) applications which have to keep track of the potential 0.9 seconds skew, but my impression is that any app which claims to support a "GMT" (or Europe/London) option is actually only supporting "GMT-ish".
Are you sure? Looking into things I would have said that GMT exists as a time reference but all the time zones are based on UTC.