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?
I think the comment is specifically talking about storing future times, and contemplating future changes to the local time zone offsets.
If I say that something is going to happen at noon local time on July 1, 2030 in New York, we know that is, under current rules, going to happen at 16:00 UTC. But what if the US changes its daylight savings rules between now and 2030? The canonical time for that event is noon local time, and the offset between local time and UTC can only certainly be determined with past events, so future events defined by local will necessarily have some uncertainty when it comes to UTC.
There is one big caveat to universal time:
Future dates: If you use utc here and a time zone definition changes, you’re boned. You have to store local time and offset for just this one usecase.
Store absolute time in something like Epoch (seconds since 1970-01-01) plus local time zone
I’m pretty sure that things like the tz database exist exactly for such a case.
The TZ database doesn’t tell us what the offsets will be in the future. Only the past.
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?
Not exactly boned but it probably doesn’t make practical difference to store “local time + tzinfo timezone” than just UTC time.
Even if you store everything in UTC, you may be safe… but figuring out the local time is still convoluted and involves a trip through tzinfo.
I think the comment is specifically talking about storing future times, and contemplating future changes to the local time zone offsets.
If I say that something is going to happen at noon local time on July 1, 2030 in New York, we know that is, under current rules, going to happen at 16:00 UTC. But what if the US changes its daylight savings rules between now and 2030? The canonical time for that event is noon local time, and the offset between local time and UTC can only certainly be determined with past events, so future events defined by local will necessarily have some uncertainty when it comes to UTC.
nice word choice