timezone: Use canonical zone names #3278
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This PR adds the list of time zones, aliases, and posix-strings to the
timezone
package.The
LoadLocation
utility will now map zones to their canonical name, and return an error before callingtime.LoadLocation
if the zone is unknown.Which issue(s) this PR fixes:
Fixes #38
Describe any introduced user-facing changes:
US/Central
will no longer appear in the time zone dropdown/searchUS/Central
will still work, but be automatically mapped toAmerica/Chicago
(as an example)US/Central
in the DB will appear asAmerica/Chicago
in UI)CST6CDT
will continue to work and be allowed via API for compatibility but will not appear in the timezone dropdown. These are not aliases and can not be mapped to a zone.Additional Info:
Previously the list of timezones was driven by the database rather than reflecting the actual list of supported zones by GoAlert. Since all time calculations are done in-app, this poses an issue as the list of actually supported zones could differ from what is available for users to select.
This change resolves that issue by using a fixed list to go along with the fixed tzdata in a GoAlert binary.