Skip to Content
ReferenceCanonical Vocabulary

Canonical Vocabulary

The canonical vocabulary is the dialect-agnostic set of date-field meanings every conversion routes through. It is the join key for the whole reference: a dialect maps each of its tokens to a canonical member (Token Mapping), and a library declares the canonical fields it renders (Libraries). Nothing here depends on how many dialects exist.

Values are stable field/style[/qualifier] identifiers exported as the Canonical object — the optional qualifier (e.g. iso, the hour cycle h12, standalone, space-padded) refines a base field/style, and its absence is the default. When a value carries more than one qualifier, identity qualifiers (iso, the hour cycle) come before presentation ones (space-padded, lower). The order is fixed; see the Contributing guide. Prefer the named members (Canonical.YearNumeric) over the raw strings. To split a symbol into those parts programmatically, see decodeCanonical.

Adding a member is a minor, additive change; renaming or removing one is breaking. A dialect or library only ever references these members — it never references another dialect.

Era

MemberValueMeaning
EraAbbreviatedera/abbreviatedEra, abbreviated (e.g. AD)
EraWideera/wideEra, wide (e.g. Anno Domini)
EraNarrowera/narrowEra, narrow (single character)

Calendar year

MemberValueMeaning
YearNumericyear/numericCalendar year, full
YearTwoDigityear/2-digitCalendar year, 2-digit

Century

The high-order two digits of the year, e.g. 2026 → 20.

MemberValueMeaning
CenturyTwoDigitcentury/2-digitCentury, 2-digit

Week-numbering year

The year that owns a given week — local or ISO.

MemberValueMeaning
WeekYearNumericweek-year/numericLocal week-numbering year, full
WeekYearTwoDigitweek-year/2-digitLocal week-numbering year, 2-digit
WeekYearNumericIsoweek-year/numeric/isoISO week-numbering year, full
WeekYearTwoDigitIsoweek-year/2-digit/isoISO week-numbering year, 2-digit

Quarter

MemberValueMeaning
QuarterNumericquarter/numericQuarter
QuarterTwoDigitquarter/2-digitQuarter, 2-digit
QuarterOrdinalquarter/ordinalQuarter, ordinal
QuarterAbbreviatedquarter/abbreviatedQuarter name, abbreviated
QuarterWidequarter/wideQuarter name, wide
QuarterNarrowquarter/narrowQuarter name, narrow
QuarterAbbreviatedStandalonequarter/abbreviated/standaloneQuarter name, abbreviated, stand-alone
QuarterWideStandalonequarter/wide/standaloneQuarter name, wide, stand-alone
QuarterNarrowStandalonequarter/narrow/standaloneQuarter name, narrow, stand-alone

Month

MemberValueMeaning
MonthNumericmonth/numericMonth
MonthTwoDigitmonth/2-digitMonth, 2-digit
MonthTwoDigitSpacePaddedmonth/2-digit/space-paddedMonth, 2-digit, blank-padded
MonthOrdinalmonth/ordinalMonth, ordinal
MonthAbbreviatedmonth/abbreviatedMonth name, abbreviated
MonthWidemonth/wideMonth name, wide
MonthNarrowmonth/narrowMonth name, narrow
MonthAbbreviatedStandalonemonth/abbreviated/standaloneMonth name, abbreviated, stand-alone
MonthWideStandalonemonth/wide/standaloneMonth name, wide, stand-alone
MonthNarrowStandalonemonth/narrow/standaloneMonth name, narrow, stand-alone

Week of year

MemberValueMeaning
WeekOfYearNumericweek-of-year/numericLocal week of year
WeekOfYearTwoDigitweek-of-year/2-digitLocal week of year, 2-digit
WeekOfYearOrdinalweek-of-year/ordinalLocal week of year, ordinal
WeekOfYearNumericIsoweek-of-year/numeric/isoISO week of year
WeekOfYearTwoDigitIsoweek-of-year/2-digit/isoISO week of year, 2-digit
WeekOfYearTwoDigitIsoSpacePaddedweek-of-year/2-digit/iso/space-paddedISO week of year, 2-digit, blank-padded
WeekOfYearOrdinalIsoweek-of-year/ordinal/isoISO week of year, ordinal

Day of month

MemberValueMeaning
DayOfMonthNumericday-of-month/numericDay of month
DayOfMonthTwoDigitday-of-month/2-digitDay of month, 2-digit (zero-padded)
DayOfMonthTwoDigitSpacePaddedday-of-month/2-digit/space-paddedDay of month, 2-digit, blank-padded
DayOfMonthOrdinalday-of-month/ordinalDay of month, ordinal

Day of year

MemberValueMeaning
DayOfYearNumericday-of-year/numericDay of year
DayOfYearTwoDigitday-of-year/2-digitDay of year, 2-digit
DayOfYearThreeDigitday-of-year/3-digitDay of year, 3-digit
DayOfYearThreeDigitSpacePaddedday-of-year/3-digit/space-paddedDay of year, 3-digit, blank-padded
DayOfYearOrdinalday-of-year/ordinalDay of year, ordinal

Weekday name

MemberValueMeaning
WeekdayAbbreviatedweekday/abbreviatedWeekday name, abbreviated
WeekdayWideweekday/wideWeekday name, wide
WeekdayNarrowweekday/narrowWeekday name, narrow
WeekdayShortweekday/shortWeekday name, short
WeekdayAbbreviatedStandaloneweekday/abbreviated/standaloneWeekday name, abbreviated, stand-alone
WeekdayWideStandaloneweekday/wide/standaloneWeekday name, wide, stand-alone
WeekdayNarrowStandaloneweekday/narrow/standaloneWeekday name, narrow, stand-alone
WeekdayShortStandaloneweekday/short/standaloneWeekday name, short, stand-alone

Weekday number

MemberValueMeaning
WeekdayNumericweekday/numericWeekday as a number, locale-dependent
WeekdayTwoDigitweekday/2-digitWeekday as a number, 2-digit, locale-dependent
WeekdayNumericIsoweekday/numeric/isoWeekday as a number, ISO (1 = Monday)

Day period

MemberValueMeaning
DayPeriodAbbreviatedday-period/abbreviatedAM/PM, abbreviated
DayPeriodAbbreviatedLowerday-period/abbreviated/lowerAM/PM, abbreviated, forced lowercase
DayPeriodWideday-period/wideAM/PM, wide
DayPeriodNarrowday-period/narrowAM/PM, narrow
DayPeriodAbbreviatedExtendedday-period/abbreviated/extendedDay period with noon/midnight, abbreviated
DayPeriodWideExtendedday-period/wide/extendedDay period with noon/midnight, wide
DayPeriodNarrowExtendedday-period/narrow/extendedDay period with noon/midnight, narrow
DayPeriodAbbreviatedFlexibleday-period/abbreviated/flexibleFlexible day period (in the morning, …), abbreviated
DayPeriodWideFlexibleday-period/wide/flexibleFlexible day period, wide
DayPeriodNarrowFlexibleday-period/narrow/flexibleFlexible day period, narrow

Hour

MemberValueMeaning
HourNumericH12hour/numeric/h12Hour 1–12
HourTwoDigitH12hour/2-digit/h12Hour 1–12, 2-digit
HourTwoDigitH12SpacePaddedhour/2-digit/h12/space-paddedHour 1–12, 2-digit, blank-padded
HourNumericH23hour/numeric/h23Hour 0–23
HourTwoDigitH23hour/2-digit/h23Hour 0–23, 2-digit
HourTwoDigitH23SpacePaddedhour/2-digit/h23/space-paddedHour 0–23, 2-digit, blank-padded
HourNumericH24hour/numeric/h24Hour 1–24
HourTwoDigitH24hour/2-digit/h24Hour 1–24, 2-digit
HourNumericH11hour/numeric/h11Hour 0–11
HourTwoDigitH11hour/2-digit/h11Hour 0–11, 2-digit

Minute & second

MemberValueMeaning
MinuteNumericminute/numericMinute
MinuteTwoDigitminute/2-digitMinute, 2-digit
MinuteTwoDigitSpacePaddedminute/2-digit/space-paddedMinute, 2-digit, blank-padded
SecondNumericsecond/numericSecond
SecondTwoDigitsecond/2-digitSecond, 2-digit
SecondTwoDigitSpacePaddedsecond/2-digit/space-paddedSecond, 2-digit, blank-padded
FractionalSecond1fractional-second/1Fractional second, 1 digit
FractionalSecond2fractional-second/2Fractional second, 2 digits
FractionalSecond3fractional-second/3Fractional second, 3 digits

Time zone & offset

MemberValueMeaning
TimezoneAbbreviatedtimezone/abbreviatedTime-zone name
OffsetWithColonoffset/with-colonUTC offset, ±hh:mm
OffsetWithoutColonoffset/without-colonUTC offset, ±hhmm
OffsetWithColonZuluoffset/with-colon/zuluUTC offset, ±hh:mm, Z at zero
OffsetWithoutColonZuluoffset/without-colon/zuluUTC offset, ±hhmm, Z at zero

Unix epoch

MemberValueMeaning
EpochSecondsepoch/secondsSeconds since the Unix epoch
EpochMillisecondsepoch/millisecondsMilliseconds since the Unix epoch

Localized presets

Deferred to the library’s locale at format time, so they map preset ↔ preset — never expanded to a concrete pattern (which would hardcode one locale). See Libraries → Localized presets.

MemberValueMeaning
LocalizedDateShortlocalized-date/shortLocalized date, short
LocalizedDateMediumlocalized-date/mediumLocalized date, medium
LocalizedDateLonglocalized-date/longLocalized date, long
LocalizedDateFulllocalized-date/fullLocalized date, full (with weekday)
LocalizedTimeShortlocalized-time/shortLocalized time, short
LocalizedTimeMediumlocalized-time/mediumLocalized time, with seconds
LocalizedTimeLonglocalized-time/longLocalized time, with time zone
LocalizedTimeFulllocalized-time/fullLocalized time, full
LocalizedDateTimeShortlocalized-date-time/shortLocalized date + time, short
LocalizedDateTimeMediumlocalized-date-time/mediumLocalized date + time, medium
LocalizedDateTimeLonglocalized-date-time/longLocalized date + time, long
LocalizedDateTimeFulllocalized-date-time/fullLocalized date + time, full
Last updated on