isValidTimeZone
Signature
Section titled “Signature”isValidTimeZone(timeZone: string): booleanValidate whether a string is a valid time zone identifier: an IANA name or a UTC offset.
- Uses Temporal.ZonedDateTime.from to test timezone validity.
- Uses the
timeZoneLikeregex to check the identifier’s shape: Temporal’sTimeZoneIdentifiergrammar (§13.31). - Accepts every IANA Zone and Link name the runtime accepts, including single-component names (
UTC,Japan,Zulu,EST5EDT,GMT+0), in any letter case (ECMA-402 matches identifiers ASCII-case-insensitively, soutcis as valid asamerica/new_york). - Accepts an offset identifier (
UTCOffset[~SubMinutePrecision]):"+05:00","+0530","-08", hour00–23, no seconds. Temporal andIntl.DateTimeFormataccept the same ones. - Returns false for invalid timezone formats.
- Compatibility: earlier releases required a
/in every name exceptUTCandGMT. To keep that narrower rule, also requiretimeZone.includes("/")or"UTC"/"GMT". - A stored offset with seconds (
-00:44:30) is false here and true forisValidUtcOffset. To check what a function with a zoneless result accepts, useisValidTimeZone(x) || isValidUtcOffset(x).
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
timeZone | string | timeZone identifier to validate |
Returns
Section titled “Returns”boolean indicating validity
Examples
Section titled “Examples”import { isValidTimeZone } from "@northguild/gmt/zoned/validate";
isValidTimeZone("America/New_York") // true