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 in Bin, St and 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 that Okthobha up in the format list and Okthoba in stand-alone? And Sept vs Sep? 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
Notice Sep here rather than Sept β€” 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 words week and of are 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-1 to ikota yesi-4, Kota 1 to Kota 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 spelled Cawe β€” 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