TZCANONICAL
Validates and normalizes a zone name (best-effort; IANA links are not resolved)
Try it
When to use it
When should I use TZCANONICAL instead of just passing the zone name directly?
Use TZCANONICAL when you receive a zone name from user input or an external system and want to surface the normalised form before storing or displaying it. It lets you catch unrecognised names early without waiting for a downstream function to error.
Does TZCANONICAL resolve IANA alias links such as US/Eastern to America/New_York?
No. TZCANONICAL returns the input unchanged when it is a valid alias. It only confirms that the name is recognised — it does not rewrite aliases to their canonical targets. Use it for normalisation checks, not alias resolution.
What is the difference between TZCANONICAL and TZVALID?
TZVALID returns a boolean (TRUE or FALSE) so you can branch on validity. TZCANONICAL returns the normalised zone string itself or #VALUE! if unrecognised. Use TZVALID first when you only need a yes/no check; use TZCANONICAL when you need the normalised name as a value.
Use cases
Guard a pipeline with a validity check then normalise
Confirm a fixed-offset string is recognised
Used in
Syntax
TZCANONICAL(zone)