DateTim...e::xh_ZA(3)
π NAME (aka what is this even)
DateTime::Locale::xh_ZA β locale data examples for the Xhosa South Africa (xh-ZA) locale. π
It's filed under User Contributed Perl Documentation, section 3, which basically means a real one wrote it and shipped it, no cap.
β¨ DESCRIPTION β¨
This pod file contains examples of the locale data available for the Xhosa South Africa locale.
That's it, that's the vibe β it's a tour of every string this locale hands you when you ask it "what's Tuesday called" or "how do we write a date". Bestie, it's a show-and-tell. π¦
ποΈ Days
Okay so days have six flavours: wide / abbreviated / narrow, and each one comes in format and stand-alone mode. Yes, six. Yes, they're not all the same. Yes, that's the whole point. π
Wide (format)
Mvulo
Lwesibini
Lwesithathu
Lwesine
Lwesihlanu
Mgqibelo
Cawe
Abbreviated (format)
Mvu
Lwesb
Tha
Sin
Hla
Mgq
Caw
Narrow (format)
M
Sb
Tht
Sin
Hl
Mg
C
Wide (stand-alone)
Mvulo
Lwesibini
Lwesithathu
Lwesine
Lwesihlanu
Mgqibelo
Cawe
Abbreviated (stand-alone)
Mvu
Bin
Tha
Sin
Hla
Mgq
Caw
Narrow (stand-alone)
M
Sb
St
Sin
Hl
Mg
C
Lowkey obsessed with how the stand-alone list swaps inBin,Stand drops different letters β that's not a typo on my part, that's literally the data. Don't "fix" it. π
πΈ Months
Twelve months, six flavours, same energy. π
Wide (format)
Janyuwari
Februwari
Matshi
Epreli
Meyi
Juni
Julayi
Agasti
Septemba
Okthobha
Novemba
Disemba
Abbreviated (format)
Jan
Feb
Mat
Epr
Mey
Jun
Jul
Aga
Sept
Okt
Nov
Dis
Narrow (format)
1
2
3
4
5
6
7
8
9
10
11
12
Wide (stand-alone)
Janyuwari
Februwari
Matshi
Epreli
Meyi
Juni
Julayi
Agasti
Septemba
Okthoba
Novemba
Disemba
Abbreviated (stand-alone)
Jan
Feb
Mat
Epr
Mey
Jun
Jul
Aga
Sep
Okt
Nov
Dis
Narrow (stand-alone)
1
2
3
4
5
6
7
8
9
10
11
12
Catch thatOkthobhaup in the format list andOkthobain stand-alone? AndSeptvsSep? Yeah. Both real. Both iconic. Don't come for me. π
π Quarters
Wide (format)
ikota yoku-1
ikota yesi-2
ikota yesi-3
ikota yesi-4
Abbreviated (format)
Kota 1
Kota 2
Kota 3
Kota 4
Narrow (format)
1
2
3
4
Wide (stand-alone)
ikota yoku-1
ikota yesi-2
ikota yesi-3
ikota yesi-4
Abbreviated (stand-alone)
Kota 1
Kota 2
Kota 3
Kota 4
Narrow (stand-alone)
1
2
3
4
π Eras
Only three flavours here, all of them format β no stand-alone erasure today.
Wide (format)
BC
AD
Abbreviated (format)
BC
AD
Narrow (format)
BC
AD
π₯ Date Formats
Three test timestamps get run through every format so you can see exactly what comes out: 2008-02-05T18:30:30, 1995-12-22T09:05:02, and the chaotic little gremlin that is -0010-09-15T04:44:23. Watch the negative year, bestie. π«Ά
Full
2008-02-05T18:30:30 = Lwesibini, Februwari 5, 2008
1995-12-22T09:05:02 = Lwesihlanu, Disemba 22, 1995
-0010-09-15T04:44:23 = Mgqibelo, Septemba 15, -10
Long
2008-02-05T18:30:30 = Februwari 5, 2008
1995-12-22T09:05:02 = Disemba 22, 1995
-0010-09-15T04:44:23 = Septemba 15, -10
Medium
2008-02-05T18:30:30 = Feb 5, 2008
1995-12-22T09:05:02 = Dis 22, 1995
-0010-09-15T04:44:23 = Sept 15, -10
Short
2008-02-05T18:30:30 = 2/5/08
1995-12-22T09:05:02 = 12/22/95
-0010-09-15T04:44:23 = 9/15/-10
β° Time Formats
Same three timestamps, now with the clock. Note that Full and Long are giving exactly the same thing here β that's their business, not mine. π
Full
2008-02-05T18:30:30 = 18:30:30 UTC
1995-12-22T09:05:02 = 09:05:02 UTC
-0010-09-15T04:44:23 = 04:44:23 UTC
Long
2008-02-05T18:30:30 = 18:30:30 UTC
1995-12-22T09:05:02 = 09:05:02 UTC
-0010-09-15T04:44:23 = 04:44:23 UTC
Medium
2008-02-05T18:30:30 = 18:30:30
1995-12-22T09:05:02 = 09:05:02
-0010-09-15T04:44:23 = 04:44:23
Short
2008-02-05T18:30:30 = 18:30
1995-12-22T09:05:02 = 09:05
-0010-09-15T04:44:23 = 04:44
π Datetime Formats
Date plus time, gluing the two together. This is the moment where the locale shows off. β
Full
2008-02-05T18:30:30 = Lwesibini, Februwari 5, 2008 18:30:30 UTC
1995-12-22T09:05:02 = Lwesihlanu, Disemba 22, 1995 09:05:02 UTC
-0010-09-15T04:44:23 = Mgqibelo, Septemba 15, -10 04:44:23 UTC
Long
2008-02-05T18:30:30 = Februwari 5, 2008 18:30:30 UTC
1995-12-22T09:05:02 = Disemba 22, 1995 09:05:02 UTC
-0010-09-15T04:44:23 = Septemba 15, -10 04:44:23 UTC
Medium
2008-02-05T18:30:30 = Feb 5, 2008 18:30:30
1995-12-22T09:05:02 = Dis 22, 1995 09:05:02
-0010-09-15T04:44:23 = Sept 15, -10 04:44:23
Short
2008-02-05T18:30:30 = 2/5/08 18:30
1995-12-22T09:05:02 = 12/22/95 09:05
-0010-09-15T04:44:23 = 9/15/-10 04:44
π§ Available Formats
Here's the big one β every named pattern this locale ships, with the pattern in parens and the three timestamps run through it. Buckle up, it's a long ride but she slays. π
Bh (h B)
2008-02-05T18:30:30 = 6 B
1995-12-22T09:05:02 = 9 B
-0010-09-15T04:44:23 = 4 B
Bhm (h:mm B)
2008-02-05T18:30:30 = 6:30 B
1995-12-22T09:05:02 = 9:05 B
-0010-09-15T04:44:23 = 4:44 B
Bhms (h:mm:ss B)
2008-02-05T18:30:30 = 6:30:30 B
1995-12-22T09:05:02 = 9:05:02 B
-0010-09-15T04:44:23 = 4:44:23 B
E (ccc)
2008-02-05T18:30:30 = Bin
1995-12-22T09:05:02 = Hla
-0010-09-15T04:44:23 = Mgq
EBhm (E h:mm B)
2008-02-05T18:30:30 = Lwesb 6:30 B
1995-12-22T09:05:02 = Hla 9:05 B
-0010-09-15T04:44:23 = Mgq 4:44 B
EBhms (E h:mm:ss B)
2008-02-05T18:30:30 = Lwesb 6:30:30 B
1995-12-22T09:05:02 = Hla 9:05:02 B
-0010-09-15T04:44:23 = Mgq 4:44:23 B
EHm (E HH:mm)
2008-02-05T18:30:30 = Lwesb 18:30
1995-12-22T09:05:02 = Hla 09:05
-0010-09-15T04:44:23 = Mgq 04:44
EHms (E HH:mm:ss)
2008-02-05T18:30:30 = Lwesb 18:30:30
1995-12-22T09:05:02 = Hla 09:05:02
-0010-09-15T04:44:23 = Mgq 04:44:23
Ed (d E)
2008-02-05T18:30:30 = 5 Lwesb
1995-12-22T09:05:02 = 22 Hla
-0010-09-15T04:44:23 = 15 Mgq
Ehm (E h:mm a)
2008-02-05T18:30:30 = Lwesb 6:30 PM
1995-12-22T09:05:02 = Hla 9:05 AM
-0010-09-15T04:44:23 = Mgq 4:44 AM
Ehms (E h:mm:ss a)
2008-02-05T18:30:30 = Lwesb 6:30:30 PM
1995-12-22T09:05:02 = Hla 9:05:02 AM
-0010-09-15T04:44:23 = Mgq 4:44:23 AM
Gy (y G)
2008-02-05T18:30:30 = 2008 AD
1995-12-22T09:05:02 = 1995 AD
-0010-09-15T04:44:23 = -10 BC
GyMMM (MMM y G)
2008-02-05T18:30:30 = Feb 2008 AD
1995-12-22T09:05:02 = Dis 1995 AD
-0010-09-15T04:44:23 = Sept -10 BC
GyMMMEd (E, MMM d, y G)
2008-02-05T18:30:30 = Lwesb, Feb 5, 2008 AD
1995-12-22T09:05:02 = Hla, Dis 22, 1995 AD
-0010-09-15T04:44:23 = Mgq, Sept 15, -10 BC
GyMMMd (MMM d, y G)
2008-02-05T18:30:30 = Feb 5, 2008 AD
1995-12-22T09:05:02 = Dis 22, 1995 AD
-0010-09-15T04:44:23 = Sept 15, -10 BC
GyMd (M/d/y G)
2008-02-05T18:30:30 = 2/5/2008 AD
1995-12-22T09:05:02 = 12/22/1995 AD
-0010-09-15T04:44:23 = 9/15/-10 BC
H (HH)
2008-02-05T18:30:30 = 18
1995-12-22T09:05:02 = 09
-0010-09-15T04:44:23 = 04
Hm (HH:mm)
2008-02-05T18:30:30 = 18:30
1995-12-22T09:05:02 = 09:05
-0010-09-15T04:44:23 = 04:44
Hms (HH:mm:ss)
2008-02-05T18:30:30 = 18:30:30
1995-12-22T09:05:02 = 09:05:02
-0010-09-15T04:44:23 = 04:44:23
Hmsv (HH:mm:ss v)
2008-02-05T18:30:30 = 18:30:30 UTC
1995-12-22T09:05:02 = 09:05:02 UTC
-0010-09-15T04:44:23 = 04:44:23 UTC
Hmv (HH:mm v)
2008-02-05T18:30:30 = 18:30 UTC
1995-12-22T09:05:02 = 09:05 UTC
-0010-09-15T04:44:23 = 04:44 UTC
M (L)
2008-02-05T18:30:30 = 2
1995-12-22T09:05:02 = 12
-0010-09-15T04:44:23 = 9
MEd (E, M/d)
2008-02-05T18:30:30 = Lwesb, 2/5
1995-12-22T09:05:02 = Hla, 12/22
-0010-09-15T04:44:23 = Mgq, 9/15
MMM (LLL)
2008-02-05T18:30:30 = Feb
1995-12-22T09:05:02 = Dis
-0010-09-15T04:44:23 = Sep
NoticeSephere rather thanSeptβ stand-alone abbreviated month energy. She's different. π
MMMEd (E, MMM d)
2008-02-05T18:30:30 = Lwesb, Feb 5
1995-12-22T09:05:02 = Hla, Dis 22
-0010-09-15T04:44:23 = Mgq, Sept 15
MMMMW-count-other ('week' W 'of' MMMM)
2008-02-05T18:30:30 = week 1 of Februwari
1995-12-22T09:05:02 = week 3 of Disemba
-0010-09-15T04:44:23 = week 2 of Septemba
Yes, the literal English wordsweekandofare quoted right there in the pattern. That's the data, bestie, I don't make the rules. π«Ά
MMMMd (MMMM d)
2008-02-05T18:30:30 = Februwari 5
1995-12-22T09:05:02 = Disemba 22
-0010-09-15T04:44:23 = Septemba 15
MMMd (MMM d)
2008-02-05T18:30:30 = Feb 5
1995-12-22T09:05:02 = Dis 22
-0010-09-15T04:44:23 = Sept 15
Md (M/d)
2008-02-05T18:30:30 = 2/5
1995-12-22T09:05:02 = 12/22
-0010-09-15T04:44:23 = 9/15
d (d)
2008-02-05T18:30:30 = 5
1995-12-22T09:05:02 = 22
-0010-09-15T04:44:23 = 15
h (h a)
2008-02-05T18:30:30 = 6 PM
1995-12-22T09:05:02 = 9 AM
-0010-09-15T04:44:23 = 4 AM
hm (h:mm a)
2008-02-05T18:30:30 = 6:30 PM
1995-12-22T09:05:02 = 9:05 AM
-0010-09-15T04:44:23 = 4:44 AM
hms (h:mm:ss a)
2008-02-05T18:30:30 = 6:30:30 PM
1995-12-22T09:05:02 = 9:05:02 AM
-0010-09-15T04:44:23 = 4:44:23 AM
hmsv (h:mm:ss a v)
2008-02-05T18:30:30 = 6:30:30 PM UTC
1995-12-22T09:05:02 = 9:05:02 AM UTC
-0010-09-15T04:44:23 = 4:44:23 AM UTC
hmv (h:mm a v)
2008-02-05T18:30:30 = 6:30 PM UTC
1995-12-22T09:05:02 = 9:05 AM UTC
-0010-09-15T04:44:23 = 4:44 AM UTC
ms (mm:ss)
2008-02-05T18:30:30 = 30:30
1995-12-22T09:05:02 = 05:02
-0010-09-15T04:44:23 = 44:23
y (y)
2008-02-05T18:30:30 = 2008
1995-12-22T09:05:02 = 1995
-0010-09-15T04:44:23 = -10
yM (M/y)
2008-02-05T18:30:30 = 2/2008
1995-12-22T09:05:02 = 12/1995
-0010-09-15T04:44:23 = 9/-10
yMEd (E, M/d/y)
2008-02-05T18:30:30 = Lwesb, 2/5/2008
1995-12-22T09:05:02 = Hla, 12/22/1995
-0010-09-15T04:44:23 = Mgq, 9/15/-10
yMMM (MMM y)
2008-02-05T18:30:30 = Feb 2008
1995-12-22T09:05:02 = Dis 1995
-0010-09-15T04:44:23 = Sept -10
yMMMEd (E, MMM d, y)
2008-02-05T18:30:30 = Lwesb, Feb 5, 2008
1995-12-22T09:05:02 = Hla, Dis 22, 1995
-0010-09-15T04:44:23 = Mgq, Sept 15, -10
yMMMM (MMMM y)
2008-02-05T18:30:30 = Februwari 2008
1995-12-22T09:05:02 = Disemba 1995
-0010-09-15T04:44:23 = Septemba -10
yMMMd (MMM d, y)
2008-02-05T18:30:30 = Feb 5, 2008
1995-12-22T09:05:02 = Dis 22, 1995
-0010-09-15T04:44:23 = Sept 15, -10
yMd (M/d/y)
2008-02-05T18:30:30 = 2/5/2008
1995-12-22T09:05:02 = 12/22/1995
-0010-09-15T04:44:23 = 9/15/-10
yQQQ (QQQ y)
2008-02-05T18:30:30 = Kota 1 2008
1995-12-22T09:05:02 = Kota 4 1995
-0010-09-15T04:44:23 = Kota 3 -10
yQQQQ (QQQQ y)
2008-02-05T18:30:30 = ikota yoku-1 2008
1995-12-22T09:05:02 = ikota yesi-4 1995
-0010-09-15T04:44:23 = ikota yesi-3 -10
That's the full set of available formats, each one with its pattern and its three worked examples βikota yoku-1toikota yesi-4,Kota 1toKota 4, no skipping. π
yw-count-other ('week' w 'of' Y)β the "week w of Y" pattern, and here's how it actually shakes out:
2008-02-05T18:30:30 = week 6 of 2008
1995-12-22T09:05:02 = week 51 of 1995
-0010-09-15T04:44:23 = week 37 of -10
πΈ Miscellaneous πΈ
okay so these are the vibes-level settings, but they're literally the ones that decide how everything renders, so don't skip π
- Prefers 24 hour time? β
Yesβ° (no am/pm chaos here, we're doing grown-up time) - Local first day of the week β
7 (Cawe)ποΈ (yep,7, and it's spelledCaweβ kept it exactly like that, iykyk)
π Strftime Patterns π
this is the juicy part β the actual strftime patterns and what they spit out for the three test datetimes β¨
%c(%a %-e %b %Y %T %Z) β the full date time format:
2008-02-05T18:30:30 = Lwesb %-e Feb 2008 18:30:30 UTC
1995-12-22T09:05:02 = Hla %-e Dis 1995 09:05:02 UTC
-0010-09-15T04:44:23 = Mgq %-e Sept -10 04:44:23 UTC
%x(%d/%m/%Y) β the date format:
2008-02-05T18:30:30 = 05/02/2008
1995-12-22T09:05:02 = 22/12/1995
-0010-09-15T04:44:23 = 15/09/-10
%X(%T) β the time format:
2008-02-05T18:30:30 = 18:30:30
1995-12-22T09:05:02 = 09:05:02
-0010-09-15T04:44:23 = 04:44:23
lowkey obsessed with the negative year one β -10 really said "I'm here too" ππ
π SUPPORT π
for real, go read DateTime::Locale β that's the whole support situation, bestie π«Ά
and that's a wrap on the page! π this one came from the perl v5.42.0 docs, dated 2024-12-12, DateTim...e::xh_ZA(3) β mwah, iconic, no notes πβ¨π
π¦ where this page comes from
- opensuse-leap 16.0: perl-DateTime-Locale 1.440000-160000.2.2 Β· Artistic-1.0 OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms