It's solved, in that I'm never going to do better than zoneinfo and I'm not going to go crazy trying.
https://en.wikipedia.org/wiki/Tz_database
https://www.iana.org/time-zones
I think of this as "difficulty snap back": Things can only get so difficult before everyone punts and uses some external library.