DateTim...ale::hnj(3)
π¦ DateTime::Locale::hnj π¦
okay bestie, quick vibe check before we dive in: this is the pod page for DateTime::Locale::hnj β it's the locale data examples for the Hmong Njua (hnj) locale. It's not a program, it's not a module you use and run β it's a showcase, a little museum of what this locale's data actually looks like when you ask DateTime::Locale for it. And ngl, the Lisu script in here is stunning π
Also hi, this is part 1, so don't panic when we stop mid-groove β we're not done yet β¨
πΈ NAME πΈ
DateTime::Locale::hnj β locale data examples for the Hmong Njua (hnj) locale. That's the whole name, that's the whole assignment, she's an icon π
π DESCRIPTION π
This pod file is literally just examples, fr fr. It shows you the locale data that's available for the Hmong Njua locale β days, months, quarters, eras, all the date/time/datetime formats, and every single one of the "available formats" with a real example timestamp so you can see exactly what comes out. Obsessed, honestly.
heads up bestie: some of these strings are in the Lisu script (Unicode Lisu, those gorgeous ππ¦-looking glyphs) and some are plain ol' Latin. Copy them exactly if you're reusing them β do not try to retype them from memory, that's how you get humbled π
ποΈ Days
Wide (format)
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Abbreviated (format)
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Narrow (format)
M
T
W
T
F
S
S
Wide (stand-alone)
ππ¦
ππ¨π°
πππ€π¦
ππ€π¨
ππ€π¨
ππ§π³
ππ€π²
Abbreviated (stand-alone)
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Narrow (stand-alone)
M
T
W
T
F
S
S
π Months
Wide (format)
ππ¬
ππ¨ππ€π¨
ππ«ππͺπ±
π€π¨π±
ππͺπ΄
ππ€ππ€π¦
ππ©ππ¨π°
ππ©πππ€
ππ€ππ€π°
πͺππ€π΄
ππ¦π€πππ«
ππ©ππ¬π΄
Abbreviated (format)
ππ¬
ππ¨ππ€π¨
ππ«ππͺπ±
π€π¨π±
ππͺπ΄
ππ€ππ€π¦
ππ©ππ¨π°
ππ©πππ€
ππ€ππ€π°
πͺππ€π΄
ππ¦π€πππ«
ππ©ππ¬π΄
Narrow (format)
1
2
3
4
5
6
7
8
9
10
11
12
Wide (stand-alone)
ππ¬
ππ¨ππ€π¨
ππ«ππͺπ±
π€π¨π±
ππͺπ΄
ππ€ππ€π¦
ππ©ππ¨π°
ππ©πππ€
ππ€ππ€π°
πͺππ€π΄
ππ¦π€πππ«
ππ©ππ¬π΄
Abbreviated (stand-alone)
ππ¬
ππ¨ππ€π¨
ππ«ππͺπ±
π€π¨π±
ππͺπ΄
ππ€ππ€π¦
ππ©ππ¨π°
ππ©πππ€
ππ€ππ€π°
πͺππ€π΄
ππ¦π€πππ«
ππ©ππ¬π΄
Narrow (stand-alone)
1
2
3
4
5
6
7
8
9
10
11
12
π Quarters
Wide (format)
Q1
Q2
Q3
Q4
Abbreviated (format)
Q1
Q2
Q3
Q4
Narrow (format)
π
π
π
π
Wide (stand-alone)
Q1
Q2
Q3
Q4
Abbreviated (stand-alone)
Q1
Q2
Q3
Q4
Narrow (stand-alone)
π
π
π
π
π Eras
Wide (format)
πππͺ
CE
Abbreviated (format)
πππͺ
CE
Narrow (format)
πππͺ
CE
π Date Formats
Each line is input β output, so you can literally see the transformation happening. iykyk β¨
Full
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5, Tue
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22, Fri
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15, Sat
Long
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15
Medium
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15
Short
2008-02-05T18:30:30 = 2008-02-05
1995-12-22T09:05:02 = 1995-12-22
-0010-09-15T04:44:23 = -10-09-15
β° Time Formats
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 + time = the whole main character moment π«
Full
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5, Tue 18:30:30 UTC
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22, Fri 09:05:02 UTC
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15, Sat 04:44:23 UTC
Long
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5 18:30:30 UTC
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22 09:05:02 UTC
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15 04:44:23 UTC
Medium
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5 18:30:30
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22 09:05:02
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15 04:44:23
Short
2008-02-05T18:30:30 = 2008-02-05 18:30
1995-12-22T09:05:02 = 1995-12-22 09:05
-0010-09-15T04:44:23 = -10-09-15 04:44
π Available Formats
okay this is the big one β every named format, with its pattern in parentheses and three worked examples. The pattern in the parentheses is the actual skeleton, so Bh (h B) means "the Bh format uses the pattern h B". Keep those exact bestie π«Ά
Each header is name (pattern) β the name is what you pass in, the parenthetical is the pattern it maps to.
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 = Tue
1995-12-22T09:05:02 = Fri
-0010-09-15T04:44:23 = Sat
EBhm (E h:mm B)
2008-02-05T18:30:30 = Tue 6:30 B
1995-12-22T09:05:02 = Fri 9:05 B
-0010-09-15T04:44:23 = Sat 4:44 B
EBhms (E h:mm:ss B)
2008-02-05T18:30:30 = Tue 6:30:30 B
1995-12-22T09:05:02 = Fri 9:05:02 B
-0010-09-15T04:44:23 = Sat 4:44:23 B
EHm (E HH:mm)
2008-02-05T18:30:30 = Tue 18:30
1995-12-22T09:05:02 = Fri 09:05
-0010-09-15T04:44:23 = Sat 04:44
EHms (E HH:mm:ss)
2008-02-05T18:30:30 = Tue 18:30:30
1995-12-22T09:05:02 = Fri 09:05:02
-0010-09-15T04:44:23 = Sat 04:44:23
Ed (d, E)
2008-02-05T18:30:30 = 5, Tue
1995-12-22T09:05:02 = 22, Fri
-0010-09-15T04:44:23 = 15, Sat
Ehm (E h:mm a)
2008-02-05T18:30:30 = Tue 6:30 PM
1995-12-22T09:05:02 = Fri 9:05 AM
-0010-09-15T04:44:23 = Sat 4:44 AM
Ehms (E h:mm:ss a)
2008-02-05T18:30:30 = Tue 6:30:30 PM
1995-12-22T09:05:02 = Fri 9:05:02 AM
-0010-09-15T04:44:23 = Sat 4:44:23 AM
Gy (G y)
2008-02-05T18:30:30 = CE 2008
1995-12-22T09:05:02 = CE 1995
-0010-09-15T04:44:23 = πππͺ -10
GyMMM (G y MMM)
2008-02-05T18:30:30 = CE 2008 ππ¨ππ€π¨
1995-12-22T09:05:02 = CE 1995 ππ©ππ¬π΄
-0010-09-15T04:44:23 = πππͺ -10 ππ€ππ€π°
GyMMMEd (G y MMM d, E)
2008-02-05T18:30:30 = CE 2008 ππ¨ππ€π¨ 5, Tue
1995-12-22T09:05:02 = CE 1995 ππ©ππ¬π΄ 22, Fri
-0010-09-15T04:44:23 = πππͺ -10 ππ€ππ€π° 15, Sat
GyMMMd (G y MMM d)
2008-02-05T18:30:30 = CE 2008 ππ¨ππ€π¨ 5
1995-12-22T09:05:02 = CE 1995 ππ©ππ¬π΄ 22
-0010-09-15T04:44:23 = πππͺ -10 ππ€ππ€π° 15
GyMd (GGGGG y-MM-dd)
2008-02-05T18:30:30 = CE 2008-02-05
1995-12-22T09:05:02 = CE 1995-12-22
-0010-09-15T04:44:23 = πππͺ -10-09-15
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 (MM-dd, E)
2008-02-05T18:30:30 = 02-05, Tue
1995-12-22T09:05:02 = 12-22, Fri
-0010-09-15T04:44:23 = 09-15, Sat
MMM (LLL)
2008-02-05T18:30:30 = ππ¨ππ€π¨
1995-12-22T09:05:02 = ππ©ππ¬π΄
-0010-09-15T04:44:23 = ππ€ππ€π°
MMMEd (MMM d, E)
2008-02-05T18:30:30 = ππ¨ππ€π¨ 5, Tue
1995-12-22T09:05:02 = ππ©ππ¬π΄ 22, Fri
-0010-09-15T04:44:23 = ππ€ππ€π° 15, Sat
MMMMW-count-other ('week' W 'of' MMMM)
2008-02-05T18:30:30 = week 1 of ππ¨ππ€π¨
1995-12-22T09:05:02 = week 3 of ππ©ππ¬π΄
-0010-09-15T04:44:23 = week 2 of ππ€ππ€π°
MMMMd (MMMM d)
2008-02-05T18:30:30 = ππ¨ππ€π¨ 5
1995-12-22T09:05:02 = ππ©ππ¬π΄ 22
-0010-09-15T04:44:23 = ππ€ππ€π° 15
MMMd (MMM d)
2008-02-05T18:30:30 = ππ¨ππ€π¨ 5
1995-12-22T09:05:02 = ππ©ππ¬π΄ 22
-0010-09-15T04:44:23 = ππ€ππ€π° 15
Md (MM-dd)
2008-02-05T18:30:30 = 02-05
1995-12-22T09:05:02 = 12-22
-0010-09-15T04:44:23 = 09-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 (y-MM)
2008-02-05T18:30:30 = 2008-02
1995-12-22T09:05:02 = 1995-12
-0010-09-15T04:44:23 = -10-09
yMEd (y-MM-dd, E)
2008-02-05T18:30:30 = 2008-02-05, Tue
1995-12-22T09:05:02 = 1995-12-22, Fri
-0010-09-15T04:44:23 = -10-09-15, Sat
yMMM (y MMM)
β¦and we're right back in it, bestie, mid-dump of the canned formats π no heading needed, you already know where we are β here's the tail of that block:
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄
-0010-09-15T04:44:23 = -10 ππ€ππ€π°
yMMMEd β y MMM d, E
year + month + day-of-month + weekday, all cozy together:
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5, Tue
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22, Fri
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15, Sat
yMMMM β y MMMM
just the big year + big month energy, iconic and minimal:
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄
-0010-09-15T04:44:23 = -10 ππ€ππ€π°
yMMMd β y MMM d
same vibe but now with the day number invited to the party:
2008-02-05T18:30:30 = 2008 ππ¨ππ€π¨ 5
1995-12-22T09:05:02 = 1995 ππ©ππ¬π΄ 22
-0010-09-15T04:44:23 = -10 ππ€ππ€π° 15
yMd β y-MM-dd
the classic numeric one, hyphenated, no thoughts just digits π
2008-02-05T18:30:30 = 2008-02-05
1995-12-22T09:05:02 = 1995-12-22
-0010-09-15T04:44:23 = -10-09-15
yQQQ β y QQQ
year plus the short quarter abbreviation, quarter-core fr:
2008-02-05T18:30:30 = 2008 Q1
1995-12-22T09:05:02 = 1995 Q4
-0010-09-15T04:44:23 = -10 Q3
yQQQQ β y QQQQ
the long-form quarter β and yes, in this locale it renders exactly the same as the short one, no cap:
2008-02-05T18:30:30 = 2008 Q1
1995-12-22T09:05:02 = 1995 Q4
-0010-09-15T04:44:23 = -10 Q3
yw-count-other β 'week' w 'of' Y
week-of-year phrasing, literally the words week and of sitting between the numbers:
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 π
Two little locale quirks, and honestly they ate:
- Prefers 24 hour time? β Yes β
- Local first day of the week β
1(ππ¦) πΈ
πΈ Strftime Patterns πΈ
Now the strftime-flavored ones β same three test timestamps, three different pattern fams. Obsessed with the consistency honestly π¦
%c (%a %b %e %H:%M:%S %Y) β date time format
2008-02-05T18:30:30 = Tue ππ¨ππ€π¨ 5 18:30:30 2008
1995-12-22T09:05:02 = Fri ππ©ππ¬π΄ 22 09:05:02 1995
-0010-09-15T04:44:23 = Sat ππ€ππ€π° 15 04:44:23 -10
Heads up bestie: that first line really does have two spaces between the month and the 5 β that's how it's written here, so keep it exactly like that if you're copying it. π
%x (%m/%d/%y) β date format
2008-02-05T18:30:30 = 02/05/08
1995-12-22T09:05:02 = 12/22/95
-0010-09-15T04:44:23 = 09/15/10
%X (%H:%M:%S) β 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
π«Ά SUPPORT π«Ά
Need more? Say less:
See DateTime::Locale.
And that's the whole page, bestie β you made it to the end and I'm so proud of you ππ This little beauty came from perl v5.42.0, dated 2024-12-12, and it lives in the docs as DateTim...ale::hnj(3) (yes, the name is truncated like that, it's giving mysterious main character energy, we respect it). Go format some dates. Slay. β¨π¦π©π
π¦ 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