DateTim...ale::ms(3)

πŸ’… NAME πŸ’…

DateTime::Locale::ms β€” the locale data examples for the Malay (ms) locale, bestie. This is the DateTim...ale::ms(3) page from the User Contributed Perl Documentation, and yes we're getting into all of it ✨


🌸 DESCRIPTION 🌸

Okay so this pod file is literally just a big ol' showcase of the locale data you get for the Malay locale. It's giving reference material, it's giving "here's every string, don't ask me twice" 🫢

πŸ—“οΈ Days

Wide (format)

Isnin
Selasa
Rabu
Khamis
Jumaat
Sabtu
Ahad

Abbreviated (format)

Isn
Sel
Rab
Kha
Jum
Sab
Ahd

Narrow (format)

I
S
R
K
J
S
A
Not me clocking that there are two S entries in narrow β€” Selasa and Sabtu both start with S, that's just how it is, no cap πŸ’€

Wide (stand-alone)

Isnin
Selasa
Rabu
Khamis
Jumaat
Sabtu
Ahad

Abbreviated (stand-alone)

Isn
Sel
Rab
Kha
Jum
Sab
Ahd

Narrow (stand-alone)

I
S
R
K
J
S
A

πŸŒ™ Months

Wide (format)

Januari
Februari
Mac
April
Mei
Jun
Julai
Ogos
September
Oktober
November
Disember

Abbreviated (format)

Jan
Feb
Mac
Apr
Mei
Jun
Jul
Ogo
Sep
Okt
Nov
Dis

Narrow (format)

J
F
M
A
M
J
J
O
S
O
N
D
The narrow ones are lowkey a chaos era β€” J shows up three times (Januari, Jun, Julai), M twice, O twice. That's the data, we don't fix it, we just vibe 😭

Wide (stand-alone)

Januari
Februari
Mac
April
Mei
Jun
Julai
Ogos
September
Oktober
November
Disember

Abbreviated (stand-alone)

Jan
Feb
Mac
Apr
Mei
Jun
Jul
Ogo
Sep
Okt
Nov
Dis

Narrow (stand-alone)

J
F
M
A
M
J
J
O
S
O
N
D

πŸ¦‹ Quarters

Wide (format)

Suku pertama
Suku Ke-2
Suku Ke-3
Suku Ke-4

Abbreviated (format)

S1
S2
S3
S4

Narrow (format)

1
2
3
4

Wide (stand-alone)

Suku pertama
Suku Ke-2
Suku Ke-3
Suku Ke-4

Abbreviated (stand-alone)

S1
S2
S3
S4

Narrow (stand-alone)

1
2
3
4

πŸ‘‘ Eras

Wide (format)

S.M.
TM

Abbreviated (format)

S.M.
TM

Narrow (format)

S.M.
TM
Eras said "one look, three times" and honestly? Iconic. No stand-alone variants listed here, periodt ✨

πŸŽ€ Date Formats

Full

2008-02-05T18:30:30 = Selasa, 5 Februari 2008
1995-12-22T09:05:02 = Jumaat, 22 Disember 1995
-0010-09-15T04:44:23 = Sabtu, 15 September -10

Long

2008-02-05T18:30:30 = 5 Februari 2008
1995-12-22T09:05:02 = 22 Disember 1995
-0010-09-15T04:44:23 = 15 September -10

Medium

2008-02-05T18:30:30 = 5 Feb 2008
1995-12-22T09:05:02 = 22 Dis 1995
-0010-09-15T04:44:23 = 15 Sep -10

Short

2008-02-05T18:30:30 = 5/02/08
1995-12-22T09:05:02 = 22/12/95
-0010-09-15T04:44:23 = 15/09/-10

⏰ Time Formats

Full

2008-02-05T18:30:30 = 6:30:30 PTG UTC
1995-12-22T09:05:02 = 9:05:02 PG UTC
-0010-09-15T04:44:23 = 4:44:23 PG UTC

Long

2008-02-05T18:30:30 = 6:30:30 PTG UTC
1995-12-22T09:05:02 = 9:05:02 PG UTC
-0010-09-15T04:44:23 = 4:44:23 PG UTC

Medium

2008-02-05T18:30:30 = 6:30:30 PTG
1995-12-22T09:05:02 = 9:05:02 PG
-0010-09-15T04:44:23 = 4:44:23 PG

Short

2008-02-05T18:30:30 = 6:30 PTG
1995-12-22T09:05:02 = 9:05 PG
-0010-09-15T04:44:23 = 4:44 PG
Full and Long are literally twins here, same output top to bottom. That's not me being lazy, that's the actual data, iykyk πŸ’… And PTG / PG are the Malay day-period markers showing up right there in the output 🫢

🌈 Datetime Formats

Full

2008-02-05T18:30:30 = Selasa, 5 Februari 2008 6:30:30 PTG UTC
1995-12-22T09:05:02 = Jumaat, 22 Disember 1995 9:05:02 PG UTC
-0010-09-15T04:44:23 = Sabtu, 15 September -10 4:44:23 PG UTC

Long

2008-02-05T18:30:30 = 5 Februari 2008 6:30:30 PTG UTC
1995-12-22T09:05:02 = 22 Disember 1995 9:05:02 PG UTC
-0010-09-15T04:44:23 = 15 September -10 4:44:23 PG UTC

Medium

2008-02-05T18:30:30 = 5 Feb 2008, 6:30:30 PTG
1995-12-22T09:05:02 = 22 Dis 1995, 9:05:02 PG
-0010-09-15T04:44:23 = 15 Sep -10, 4:44:23 PG

Short

2008-02-05T18:30:30 = 5/02/08, 6:30 PTG
1995-12-22T09:05:02 = 22/12/95, 9:05 PG
-0010-09-15T04:44:23 = 15/09/-10, 4:44 PG
Bestie notice the comma situation πŸ‘€ Medium and Short squeeze a , between date and time, Full and Long just use a space. Details matter, we keep them all.

⭐ Available Formats

Okay this is the big one, the main character section. Every single named format, with its pattern in the heading and three worked examples. Buckle up 🎒

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 = Sel
1995-12-22T09:05:02 = Jum
-0010-09-15T04:44:23 = Sab

EBhm (E h:mm B)

2008-02-05T18:30:30 = Sel 6:30 B
1995-12-22T09:05:02 = Jum 9:05 B
-0010-09-15T04:44:23 = Sab 4:44 B

EBhms (E h:mm:ss B)

2008-02-05T18:30:30 = Sel 6:30:30 B
1995-12-22T09:05:02 = Jum 9:05:02 B
-0010-09-15T04:44:23 = Sab 4:44:23 B

EHm (E HH:mm)

2008-02-05T18:30:30 = Sel 18:30
1995-12-22T09:05:02 = Jum 09:05
-0010-09-15T04:44:23 = Sab 04:44

EHms (E HH:mm:ss)

2008-02-05T18:30:30 = Sel 18:30:30
1995-12-22T09:05:02 = Jum 09:05:02
-0010-09-15T04:44:23 = Sab 04:44:23

Ed (d E)

2008-02-05T18:30:30 = 5 Sel
1995-12-22T09:05:02 = 22 Jum
-0010-09-15T04:44:23 = 15 Sab

Ehm (E h:mm a)

2008-02-05T18:30:30 = Sel 6:30 PTG
1995-12-22T09:05:02 = Jum 9:05 PG
-0010-09-15T04:44:23 = Sab 4:44 PG

Ehms (E h:mm:ss a)

2008-02-05T18:30:30 = Sel 6:30:30 PTG
1995-12-22T09:05:02 = Jum 9:05:02 PG
-0010-09-15T04:44:23 = Sab 4:44:23 PG

Gy (y G)

2008-02-05T18:30:30 = 2008 TM
1995-12-22T09:05:02 = 1995 TM
-0010-09-15T04:44:23 = -10 S.M.

GyMMM (MMM y G)

2008-02-05T18:30:30 = Feb 2008 TM
1995-12-22T09:05:02 = Dis 1995 TM
-0010-09-15T04:44:23 = Sep -10 S.M.

GyMMMEd (E, d MMM y G)

2008-02-05T18:30:30 = Sel, 5 Feb 2008 TM
1995-12-22T09:05:02 = Jum, 22 Dis 1995 TM
-0010-09-15T04:44:23 = Sab, 15 Sep -10 S.M.

GyMMMd (d MMM y G)

2008-02-05T18:30:30 = 5 Feb 2008 TM
1995-12-22T09:05:02 = 22 Dis 1995 TM
-0010-09-15T04:44:23 = 15 Sep -10 S.M.

GyMd (GGGGG y-MM-dd)

2008-02-05T18:30:30 = TM 2008-02-05
1995-12-22T09:05:02 = TM 1995-12-22
-0010-09-15T04:44:23 = S.M. -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 (E, d-M)

2008-02-05T18:30:30 = Sel, 5-2
1995-12-22T09:05:02 = Jum, 22-12
-0010-09-15T04:44:23 = Sab, 15-9

MMM (LLL)

2008-02-05T18:30:30 = Feb
1995-12-22T09:05:02 = Dis
-0010-09-15T04:44:23 = Sep

MMMEd (E, d MMM)

2008-02-05T18:30:30 = Sel, 5 Feb
1995-12-22T09:05:02 = Jum, 22 Dis
-0010-09-15T04:44:23 = Sab, 15 Sep

MMMMW-count-other ('minggu' W 'daripada' MMMM)

2008-02-05T18:30:30 = minggu 1 daripada Februari
1995-12-22T09:05:02 = minggu 3 daripada Disember
-0010-09-15T04:44:23 = minggu 2 daripada September

MMMMd (d MMMM)

2008-02-05T18:30:30 = 5 Februari
1995-12-22T09:05:02 = 22 Disember
-0010-09-15T04:44:23 = 15 September

MMMd (d MMM)

2008-02-05T18:30:30 = 5 Feb
1995-12-22T09:05:02 = 22 Dis
-0010-09-15T04:44:23 = 15 Sep

MMdd (dd/MM)

2008-02-05T18:30:30 = 05/02
1995-12-22T09:05:02 = 22/12
-0010-09-15T04:44:23 = 15/09

Md (d-M)

2008-02-05T18:30:30 = 5-2
1995-12-22T09:05:02 = 22-12
-0010-09-15T04:44:23 = 15-9

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 PTG
1995-12-22T09:05:02 = 9 PG
-0010-09-15T04:44:23 = 4 PG

hm (h:mm a)

2008-02-05T18:30:30 = 6:30 PTG
1995-12-22T09:05:02 = 9:05 PG
-0010-09-15T04:44:23 = 4:44 PG

hms (h:mm:ss a)

2008-02-05T18:30:30 = 6:30:30 PTG
1995-12-22T09:05:02 = 9:05:02 PG
-0010-09-15T04:44:23 = 4:44:23 PG

hmsv (h:mm:ss a v)

2008-02-05T18:30:30 = 6:30:30 PTG UTC
1995-12-22T09:05:02 = 9:05:02 PG UTC
-0010-09-15T04:44:23 = 4:44:23 PG UTC

hmv (h:mm a v)

2008-02-05T18:30:30 = 6:30 PTG UTC
1995-12-22T09:05:02 = 9:05 PG UTC
-0010-09-15T04:44:23 = 4:44 PG 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
The 9--10 is not a typo bestie, that minus-then-negative-year is exactly what's on the page 🫢

yMEd (E, d/M/y)

2008-02-05T18:30:30 = Sel, 5/2/2008
1995-12-22T09:05:02 = Jum, 22/12/1995
-0010-09-15T04:44:23 = Sab, 15/9/-10

yMMM (MMM y)

2008-02-05T18:30:30 = Feb 2008
1995-12-22T09:05:02 = Dis 1995
-0010-09-15T04:44:23 = Sep -10

yMMMEd (E, d MMM y)

2008-02-05T18:30:30 = Sel, 5 Feb 2008
1995-12-22T09:05:02 = Jum, 22 Dis 1995
-0010-09-15T04:44:23 = Sab, 15 Sep -10

yMMMM (MMMM y)

2008-02-05T18:30:30 = Februari 2008
1995-12-22T09:05:02 = Disember 1995
-0010-09-15T04:44:23 = September -10

yMMMd (d MMM y)

2008-02-05T18:30:30 = 5 Feb 2008
1995-12-22T09:05:02 = 22 Dis 1995
-0010-09-15T04:44:23 = 15 Sep -10

yMd (d/M/y)

2008-02-05T18:30:30 = 5/2/2008
1995-12-22T09:05:02 = 22/12/1995
-0010-09-15T04:44:23 = 15/9/-10

yQQQ (QQQ y)

2008-02-05T18:30:30 = S1 2008
1995-12-22T09:05:02 = S4 1995
-0010-09-15T04:44:23 = S3 -10

yQQQQ (QQQQ y)

...and the quarter-name lookup finishes out like this:

2008-02-05T18:30:30 = Suku pertama 2008
1995-12-22T09:05:02 = Suku Ke-4 1995
-0010-09-15T04:44:23 = Suku Ke-3 -10

okay so lowkey the way Suku Ke-4 1995 shows up for 1995-12-22T09:05:02 is so satisfying β€” December is literally the fourth quarter, she ate πŸ’… and -0010-09-15T04:44:23 giving Suku Ke-3 -10? yes bestie, negative years work too, no cap. copy these strings exactly, they're data, not vibes ✨

Then there's:

yw-count-other ('minggu' w 'daripada' Y)

which is the pattern for week-of-year phrased as words, and here's how the three iconic sample timestamps answer it:

2008-02-05T18:30:30 = minggu 6 daripada 2008
1995-12-22T09:05:02 = minggu 51 daripada 1995
-0010-09-15T04:44:23 = minggu 37 daripada -10

so minggu 6 daripada 2008 = week 6 of 2008, minggu 51 daripada 1995 = week 51 of 1995, and even the chaotic -10 year gets minggu 37 daripada -10. the pattern text in the parens is written with w and Y placeholders β€” keep them verbatim, they're not typos, they're the recipe πŸŽ€


🌸 MISCELLANEOUS 🌸

Two tiny little facts, both very much load-bearing:

  • Prefers 24 hour time? β€” No. literally no. the locale said nope to 24-hour time πŸ™ˆ
  • Local first day of the week β€” 1 (Isnin).

that's the whole section. short, sweet, ate. πŸ“


✨ STRFTIME PATTERNS ✨

these are the strftime-style patterns this locale ships with, plus the three sample dates so you can see them in the wild. the format codes in the parens? keep them exactly.

%c (%a %b %e %H:%M:%S %Y) β€” date time format

2008-02-05T18:30:30 = Sel Feb  5 18:30:30 2008
1995-12-22T09:05:02 = Jum Dis 22 09:05:02 1995
-0010-09-15T04:44:23 = Sab Sep 15 04:44:23 -10

notice the double space before the 5 on Feb 5? that's %e doing %e things (space-padded day of month), not a formatting accident. don't "fix" it bestie, it's canon 🫢

%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

%m/%d/%y = month/day/two-digit-year. and yeah, -10 renders as 10 because %y is two digits β€” that's the info, use it wisely πŸ‘‘

%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

straight-up hour:minute:second with zero padding. clean, minimal, iconic. ⏰


πŸ’– SUPPORT πŸ’–

See DateTime::Locale.

that's it. that's the entire support section. one line. go read DateTime::Locale, it's the main character of this whole family of pages 🫢✨


and that's a wrap on the ms locale page, bestie πŸŽ€ this one came out of the perl v5.42.0 docs, dated 2024-12-12, filed under User Contributed Perl Documentation as DateTime::Locale::ms(3) β€” you've officially read the whole thing, I'm so proud of you, go format some dates πŸ’œπŸŒˆ

πŸ“¦ where this page comes from