If SF decided to drop DST, but the rest of the state didn't[0], then America/San_Francisco would be created to handle the changes.
This is why you can't accurately record physical appointments by date, time, and timezone. You have to record it as date, time, and physical location, and then the time zone can "float", based on the location and rules in the tzdb, until the appointment happens.
[0] Assuming this were made legal, which is pretty unlikely.
What I'm saying is that we cannot reliably store a future local time such as "13:00 on the 12th Sept 2025 Europe/London" as an instant in time.
Recalling Einstein and that such a thing as global time reference is fundamentally impossible, you're nitpicking while being technically incorrect.
[0]: but please keep defaulting to it in code unless you really know why lol
It all boils down to picking the appropriate reference frame, which varies by context. I believe your point should be that there is no single universally applicable reference frame for mapping all future events to future cultural time (and/or that in any case it's not UTC).
No, a future datetime expressed in this string format does not represent a specific instant in time. If you had multiple datetime values from different timezones in this representation, you wouldn't be able to sort them so that earlier ones come before later ones. If they were instants in time, you would be able to do that.
"13:00 December 25 2025 Europe/London" is local time but its Unix timestamp is an estimate depending on how the tzdata database looks right now.
"13:00 December 25 2025 +0100" is also local time but it is immutable.
Using the latter can only be done reliably for present and past (but it conveniently avoids looking up the offset later). All future times must use the former to be stable otherwise you should probably be using UTC.
That's irrelevant.
Besides, you could, assuming you have a timezone db on the side.
> If they were instants in time, you would be able to do that.
How do you synchronize with and translate to timezones in Andromeda?
It is proof that your format does not represent instants in time because instants in time can be sorted across timezones.
>Besides, you could, assuming you have a timezone db on the side.
No, because you don't have future versions of the timezone database.
It would be highly unusual and misleading to call something a timestamp unless it is a point in time. In Postgres for instance, the timestamp with timezone type represents an instant in time.
This data type cannot be used to store things like reminders for future appointments. It's not rare at all.
Something that often trips people up is that they think timestamptz stores a timestamp plus a time zone (probably because of its unfortunate name). It does not; it always stores a Unix epoch without an extra time zone, converting any zoned timestamp that it is passed.