I have just started working with NodaTime. In my app, the user creates an event and chooses a time zone. Regardless of whether I use the BCL (Windows) time zone list or the TZDB (Olson) list (and do not mix them!), I need to persist the id of the time zone to my database so that I can later recreate the timezone-aware time.
Given that timezone ids appear to be somewhat arbitrary and are not an ISO standard, can I rely on always finding that id in future when I call GetZoneOrNull?
I am assuming that the GetZoneOrNull method is the defence against that happening; that is, when it is passed an id that does not exist in its own Ids collection. My question is: if an id has been retrieved from the Ids collection, can I trust that GetZoneOrNull will never in future return null?
But if an Id can disappear from history, what is the best strategy to deal with that?