Timezone Abbreviation
datetime.offset.timezone_abbreviationShort alphabetic timezone abbreviation (EST, EDT, CEST, GMT, UTC, …) — the human-readable shorthand distinct from a full IANA zone name (America/New_York) or an explicit UTC offset (UTC +05:00).
Try a value
Timezone Abbreviation's rule accepts it.
Reads it as EST
Shape
^(UTC|GMT|EST|EDT|CST|CDT|MST|MDT|PST|PDT|AKST|AKDT|HST|HAST|HADT|AST|ADT|NST|NDT|CET|CEST|EET|EEST|WET|WEST|BST|IST|WAT|CAT|EAT|SAST|MSK|GST|PKT|ICT|WIB|SGT|HKT|JST|KST|AEST|AEDT|ACST|ACDT|AWST|NZST|NZDT)$| Value | Length | Shape |
|---|---|---|
| EST | 3 | matches |
| CEST | 4 | matches |
| GMT | 3 | matches |
| ES | 2 | rejected: one character short |
Background
Origin
RFC 822, the Standard for ARPA Internet Text Messages, is dated August 13, 1982.[1] RFC 822's date-time syntax allows the zone to be written as UT, GMT, or one of the North American abbreviations EST, EDT, CST, CDT, MST, MDT, PST and PDT.[1] RFC 822 also allows single-letter military zones and a numeric local differential written as a sign followed by four digits.[1]
RFC 5322 states that EST is semantically equivalent to -0500 and EDT to -0400.[2] RFC 5322 notes that other multi-character alphabetic time zones, usually between 3 and 5 letters, have been used in Internet messages.[2]
The tz database's guidelines ask for abbreviations that are in common use among English-speakers, such as EST for Eastern Standard Time in North America.[3] The tz database's guidelines call for abbreviations of three to six characters that are ASCII alphanumerics or + or -.[3] Where there is no common English abbreviation, the tz database's guidelines say to use numeric offsets such as -05 and +0530.[3]
Alphabetic time zone abbreviations are not part of the international date and time standard ISO 8601.[4]
Use
The tz database's theory notes that abbreviations are ambiguous in practice, with CST meaning one thing in China and something else in North America.[3] The tz database's theory notes that IST can refer to time in India, Ireland or Israel.[3] Wikipedia's list of time zone abbreviations gives BST as Bangladesh Standard Time, Bougainville Standard Time and British Summer Time.[4] Wikipedia's list gives AST as both Arabia Standard Time (UTC+03:00) and Atlantic Standard Time (UTC−04:00).[4] The tz database's theory advises using numeric UT offsets like -0600 instead of abbreviations like CST to avoid ambiguity.[3]
In PostgreSQL, a time zone abbreviation such as PST merely defines a particular offset from UTC, unlike a full zone name, which can imply daylight-saving transition rules.[5] PostgreSQL's documentation gives the example that 2014-06-04 12:00 EST means noon at UTC-5 regardless of whether daylight saving was nominally in effect on that date.[5] PostgreSQL's documentation notes that in Moscow MSK has meant UTC+3 in some years and UTC+4 in others.[5] PostgreSQL's documentation says time zone abbreviations are not well standardised, so it lets the set accepted in datetime input be customised.[6] PostgreSQL ships additional Australia and India abbreviation files that add to or modify its Default set.[6]
Python's datetime.strptime() accepts only UTC, GMT and the values in time.tzname for the machine's locale for %Z, and raises ValueError otherwise.[7] When you meet a column of abbreviations, find out where the data was produced before you map them to offsets, because the same letters can mean different zones. (Meridian's view) Keep the abbreviation beside the local timestamp it qualifies, and convert both together to a UTC timestamp or an explicit offset rather than storing the letters alone. (Meridian's view)
Sources
- [1]Standard for ARPA Internet Text Messagesstandard
- [2]Internet Message Formatstandard
- [3]Theory and pragmatics of the tz code and datadocumentation
- [4]List of time zone abbreviationssecondary source
- [5]PostgreSQL: Documentation: 18: 8.5. Date/Time Typesdocumentation
- [6]PostgreSQL: Documentation: 18: B.4. Date/Time Configuration Filesdocumentation
- [7]datetime — Basic date and time typesdocumentation
Detection notes
Unlike IANA zone names, the common timezone abbreviations are a small, structurally-bounded closed set, so an enum-style pattern is the right validator here (the iana note's anti-enum warning applies to the 500+ IANA zones, not these ~40 abbreviations). The abbreviations EST/CST/PST overlap non-timezone uses (estimate/cost), so the Sharpen recovery (structured_string_refinement) gates on a residual source label + >=90% closed-set match + a timezone-ish header — precision lives in the recovery gating, not a looser pattern. Mined from the word/iana residual (spec 2026-06-25-timezone-abbreviation-type): 1,504 distinct corpus datasets. UPPERCASE-ONLY by design: corpus measurement found 1,442/1,444 tz columns uppercase, only 2 lowercase — and case is itself a precision signal ("WET"=Western European Time vs "wet" the word; "EST" vs "estimate"), so case-insensitivity would over-emit far more than the ~2 columns of recall it buys.
Use it
$ finetype infer -i "EST" --mode column
→ datetime.offset.timezone_abbreviation
SELECT ft_infer('EST');
-- → 'datetime.offset.timezone_abbreviation'{col}Schema
https://meridian.online/schemas/datetime.offset.timezone_abbreviation · Frictionless type string
finetype taxonomy datetime.offset.timezone_abbreviation -o json-schema