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