DateTim...ale::fa(3)

okay so real talk — this is part of the User Contributed Perl Documentation, section 3, and the whole thing is literally DateTime::Locale::fa. It's the Persian locale data, and it's a lot of examples. Buckle up bestie, we're going through all of it 💅


✨ NAME ✨

DateTime::Locale::fa — locale data examples for the Persian (fa) locale. That's it, that's the name 🎀


💖 DESCRIPTION 💖

This pod file is literally just examples of the locale data you get for the Persian locale. No cap, it's a show-and-tell file — every string, every format, every example rendering, all laid out so you can see exactly what fa gives you 🦋


🌸 Days

Wide (format)

دوشنبه
سه‌شنبه
چهارشنبه
پنجشنبه
جمعه
شنبه
یکشنبه

Abbreviated (format)

دوشنبه
سه‌شنبه
چهارشنبه
پنجشنبه
جمعه
شنبه
یکشنبه

not me noticing the abbreviated ones are literally identical to the wide ones — iconic behaviour honestly 👑

Narrow (format)

د
س
چ
پ
ج
ش
ی

one (1) letter each, so minimal, so clean ✨

Wide (stand-alone)

دوشنبه
سه‌شنبه
چهارشنبه
پنجشنبه
جمعه
شنبه
یکشنبه

Abbreviated (stand-alone)

دوشنبه
سه‌شنبه
چهارشنبه
پنجشنبه
جمعه
شنبه
یکشنبه

Narrow (stand-alone)

د
س
چ
پ
ج
ش
ی

same seven letters again, stand-alone version, we love consistency 💅


🦋 Months

Wide (format)

ژانویهٔ
فوریهٔ
مارس
آوریل
مهٔ
ژوئن
ژوئیهٔ
اوت
سپتامبر
اکتبر
نوامبر
دسامبر

Abbreviated (format)

ژانویه
فوریه
مارس
آوریل
مه
ژوئن
ژوئیه
اوت
سپتامبر
اکتبر
نوامبر
دسامبر

twelve months, all accounted for, no notes 🍓

Narrow (format)

ژ
ف
م
آ
م
ژ
ژ
ا
س
ا
ن
د

⚠️ heads up — yes, some of these letters repeat (ژ, م, ا show up more than once). That's literally what's listed, don't come for me 🙈

Wide (stand-alone)

ژانویه
فوریه
مارس
آوریل
مه
ژوئن
ژوئیه
اوت
سپتامبر
اکتبر
نوامبر
دسامبر

Abbreviated (stand-alone)

ژانویه
فوریه
مارس
آوریل
مه
ژوئن
ژوئیه
اوت
سپتامبر
اکتبر
نوامبر
دسامبر

Narrow (stand-alone)

ژ
ف
م
آ
م
ژ
ژ
ا
س
ا
ن
د

🎀 Quarters

Wide (format)

سه‌ماههٔ اول
سه‌ماههٔ دوم
سه‌ماههٔ سوم
سه‌ماههٔ چهارم

four quarters, first through fourth, slay 🫶

Abbreviated (format)

سم۱
سم۲
سم۳
سم۴

Narrow (format)

۱
۲
۳
۴

just the digits, main character energy 💜

Wide (stand-alone)

سه‌ماههٔ اول
سه‌ماههٔ دوم
سه‌ماههٔ سوم
سه‌ماههٔ چهارم

Abbreviated (stand-alone)

سم۱
سم۲
سم۳
سم۴

Narrow (stand-alone)

۱
۲
۳
۴

⭐ Eras

Wide (format)

قبل از میلاد
میلادی

Abbreviated (format)

ق.م.
م.

Narrow (format)

ق
م

two eras, that's the whole list, periodt 💀


🌈 Date Formats

Full

  2008-02-05T18:30:30 = سه‌شنبه 5 فوریهٔ 2008
  1995-12-22T09:05:02 = جمعه 22 دسامبر 1995
 -0010-09-15T04:44:23 = شنبه 15 سپتامبر -10

Long

  2008-02-05T18:30:30 = 5 فوریهٔ 2008
  1995-12-22T09:05:02 = 22 دسامبر 1995
 -0010-09-15T04:44:23 = 15 سپتامبر -10

Medium

  2008-02-05T18:30:30 = 5 فوریه 2008
  1995-12-22T09:05:02 = 22 دسامبر 1995
 -0010-09-15T04:44:23 = 15 سپتامبر -10

Short

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

same three timestamps every single time — 2008-02-05T18:30:30, 1995-12-22T09:05:02, and the chaos gremlin -0010-09-15T04:44:23 (yes, negative year, it's giving ancient 💀). That's the whole bit, and honestly it works 🔥


🧚 Time Formats

Full

  2008-02-05T18:30:30 = 18:30:30 (UTC)
  1995-12-22T09:05:02 = 9:05:02 (UTC)
 -0010-09-15T04:44:23 = 4:44:23 (UTC)

Long

  2008-02-05T18:30:30 = 18:30:30 (UTC)
  1995-12-22T09:05:02 = 9:05:02 (UTC)
 -0010-09-15T04:44:23 = 4:44:23 (UTC)

Medium

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

Short

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

Full and Long are literally twins here, both rocking the (UTC). Medium and Short drop it. Obsessed with the consistency 💅


💜 Datetime Formats

Full

  2008-02-05T18:30:30 = سه‌شنبه 5 فوریهٔ 2008، ساعت 18:30:30 (UTC)
  1995-12-22T09:05:02 = جمعه 22 دسامبر 1995، ساعت 9:05:02 (UTC)
 -0010-09-15T04:44:23 = شنبه 15 سپتامبر -10، ساعت 4:44:23 (UTC)

Long

  2008-02-05T18:30:30 = 5 فوریهٔ 2008، ساعت 18:30:30 (UTC)
  1995-12-22T09:05:02 = 22 دسامبر 1995، ساعت 9:05:02 (UTC)
 -0010-09-15T04:44:23 = 15 سپتامبر -10، ساعت 4:44:23 (UTC)

Medium

  2008-02-05T18:30:30 = 5 فوریه 2008،‏ 18:30:30
  1995-12-22T09:05:02 = 22 دسامبر 1995،‏ 9:05:02
 -0010-09-15T04:44:23 = 15 سپتامبر -10،‏ 4:44:23

Short

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

date + time, glued together, exactly as written — and yes those invisible direction marks are in there, don't touch them 🫶


👑 Available Formats

okay this is the big one, every named format with its pattern in parens and its three renderings. all of them, let's go ⭐

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 = سه‌شنبه
  1995-12-22T09:05:02 = جمعه
 -0010-09-15T04:44:23 = شنبه

EBhm (E 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

EBhms (E 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

EHm (E H:mm)

  2008-02-05T18:30:30 = سه‌شنبه 18:30
  1995-12-22T09:05:02 = جمعه 9:05
 -0010-09-15T04:44:23 = شنبه 4:44

EHms (E H:mm:ss)

  2008-02-05T18:30:30 = سه‌شنبه 18:30:30
  1995-12-22T09:05:02 = جمعه 9:05:02
 -0010-09-15T04:44:23 = شنبه 4:44:23

Ed (E d)

  2008-02-05T18:30:30 = سه‌شنبه 5
  1995-12-22T09:05:02 = جمعه 22
 -0010-09-15T04:44:23 = شنبه 15

Ehm (E h:mm a)

  2008-02-05T18:30:30 = سه‌شنبه 6:30 ب.ظ.
  1995-12-22T09:05:02 = جمعه 9:05 ق.ظ.
 -0010-09-15T04:44:23 = شنبه 4:44 ق.ظ.

Ehms (E h:mm:ss a)

  2008-02-05T18:30:30 = سه‌شنبه 6:30:30 ب.ظ.
  1995-12-22T09:05:02 = جمعه 9:05:02 ق.ظ.
 -0010-09-15T04:44:23 = شنبه 4:44:23 ق.ظ.

Gy (y G)

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

GyMMM (MMM y G)

  2008-02-05T18:30:30 = فوریه 2008 م.
  1995-12-22T09:05:02 = دسامبر 1995 م.
 -0010-09-15T04:44:23 = سپتامبر -10 ق.م.

GyMMMEd (E d MMM y G)

  2008-02-05T18:30:30 = سه‌شنبه 5 فوریه 2008 م.
  1995-12-22T09:05:02 = جمعه 22 دسامبر 1995 م.
 -0010-09-15T04:44:23 = شنبه 15 سپتامبر -10 ق.م.

GyMMMd (d MMM y G)

  2008-02-05T18:30:30 = 5 فوریه 2008 م.
  1995-12-22T09:05:02 = 22 دسامبر 1995 م.
 -0010-09-15T04:44:23 = 15 سپتامبر -10 ق.م.

GyMd (y/M/d GGGGG)

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

H (H)

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

HHmmZ (HH:mm (Z))

  2008-02-05T18:30:30 = 18:30 (+0000)
  1995-12-22T09:05:02 = 09:05 (+0000)
 -0010-09-15T04:44:23 = 04:44 (+0000)

note that these ones are zero-padded — 09:05, 04:44 — unlike the H one above, which is not. Both are literally in the file, don't @ me 🙈

Hm (H:mm)

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

Hms (H:mm:ss)

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

Hmsv (H:mm:ss v)

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

Hmv (H:mm v)

  2008-02-05T18:30:30 = 18:30 UTC
  1995-12-22T09:05:02 = 9:05 UTC
 -0010-09-15T04:44:23 = 4: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 = سه‌شنبه 2/5
  1995-12-22T09:05:02 = جمعه 12/22
 -0010-09-15T04:44:23 = شنبه 9/15

MMM (LLL)

  2008-02-05T18:30:30 = فوریه
  1995-12-22T09:05:02 = دسامبر
 -0010-09-15T04:44:23 = سپتامبر

MMMEd (E d LLL)

  2008-02-05T18:30:30 = سه‌شنبه 5 فوریه
  1995-12-22T09:05:02 = جمعه 22 دسامبر
 -0010-09-15T04:44:23 = شنبه 15 سپتامبر

MMMMEd (E d LLLL)

  2008-02-05T18:30:30 = سه‌شنبه 5 فوریه
  1995-12-22T09:05:02 = جمعه 22 دسامبر
 -0010-09-15T04:44:23 = شنبه 15 سپتامبر

MMMMW-count-one (هفتهٔ Wم LLLL)

  2008-02-05T18:30:30 = هفتهٔ 1م فوریه
  1995-12-22T09:05:02 = هفتهٔ 3م دسامبر
 -0010-09-15T04:44:23 = هفتهٔ 2م سپتامبر

MMMMW-count-other (هفتهٔ Wم LLLL)

  2008-02-05T18:30:30 = هفتهٔ 1م فوریه
  1995-12-22T09:05:02 = هفتهٔ 3م دسامبر
 -0010-09-15T04:44:23 = هفتهٔ 2م سپتامبر

count-one and count-other are matching twinsies here 🫶 and yes, both of those are separate entries, both listed, both kept 💅

MMMMd (d LLLL)

  2008-02-05T18:30:30 = 5 فوریه
  1995-12-22T09:05:02 = 22 دسامبر
 -0010-09-15T04:44:23 = 15 سپتامبر

MMMd (d LLL)

  2008-02-05T18:30:30 = 5 فوریه
  1995-12-22T09:05:02 = 22 دسامبر
 -0010-09-15T04:44:23 = 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 ب.ظ.
  1995-12-22T09:05:02 = 9 ق.ظ.
 -0010-09-15T04:44:23 = 4 ق.ظ.

hm (h:mm a)

  2008-02-05T18:30:30 = 6:30 ب.ظ.
  1995-12-22T09:05:02 = 9:05 ق.ظ.
 -0010-09-15T04:44:23 = 4:44 ق.ظ.

hms (h:mm:ss a)

  2008-02-05T18:30:30 = 6:30:30 ب.ظ.
  1995-12-22T09:05:02 = 9:05:02 ق.ظ.
 -0010-09-15T04:44:23 = 4:44:23 ق.ظ.

hmsv (h:mm:ss a v)

  2008-02-05T18:30:30 = 6:30:30 ب.ظ. UTC
  1995-12-22T09:05:02 = 9:05:02 ق.ظ. UTC
 -0010-09-15T04:44:23 = 4:44:23 ق.ظ. UTC

hmv (h:mm a v)

...and we're coming in mid-glossary, which is honestly the best part anyway. Here's the rest of the long examples, no need to re-intro them, they speak for themselves 💅

2008-02-05T18:30:30 = 6:30 ب.ظ. UTC
1995-12-22T09:05:02 = 9:05 ق.ظ. UTC
-0010-09-15T04:44:23 = 4:44 ق.ظ. UTC

mmss (mm:ss)

Minutes and seconds, that's it, no hour doing the absolute most:

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

ms (m:ss)

Same vibe but the minutes don't get zero-padded — note how 05:02 becomes 5:02 below, she's not padding for anyone:

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

y (y)

just the year, ma'am 🎀

2008-02-05T18:30:30 = 2008
1995-12-22T09:05:02 = 1995
-0010-09-15T04:44:23 = -10
ok lowkey obsessed with the negative years showing up in these examples — yes, -0010 formats as just -10. The locale data said what it said, bestie 💀

yM (y/M)

Year slash month:

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

yMEd (E y/M/d)

Weekday, then year slash month slash day:

2008-02-05T18:30:30 = سه‌شنبه 2008/2/5
1995-12-22T09:05:02 = جمعه 1995/12/22
-0010-09-15T04:44:23 = شنبه -10/9/15

yMMM (MMM y)

Short month name first, then the year:

2008-02-05T18:30:30 = فوریه 2008
1995-12-22T09:05:02 = دسامبر 1995
-0010-09-15T04:44:23 = سپتامبر -10

yMMMEd (E d MMM y)

Weekday, day, short month, year — the full little lineup:

2008-02-05T18:30:30 = سه‌شنبه 5 فوریه 2008
1995-12-22T09:05:02 = جمعه 22 دسامبر 1995
-0010-09-15T04:44:23 = شنبه 15 سپتامبر -10

yMMMM (MMMM y)

Long month name edition, with the year:

2008-02-05T18:30:30 = فوریهٔ 2008
1995-12-22T09:05:02 = دسامبر 1995
-0010-09-15T04:44:23 = سپتامبر -10

yMMMMEEEEd (EEEE d MMMM y)

The full-length, all-caps-confidence version: long weekday, day, long month, year ✨

2008-02-05T18:30:30 = سه‌شنبه 5 فوریهٔ 2008
1995-12-22T09:05:02 = جمعه 22 دسامبر 1995
-0010-09-15T04:44:23 = شنبه 15 سپتامبر -10

yMMMd (d MMM y)

Day, short month, year. No weekday, she's busy:

2008-02-05T18:30:30 = 5 فوریه 2008
1995-12-22T09:05:02 = 22 دسامبر 1995
-0010-09-15T04:44:23 = 15 سپتامبر -10

yMd (y/M/d)

All numbers, all slashes, zero small talk:

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

yQQQ (QQQQ y)

Quarter of the year, long-form, plus the year:

2008-02-05T18:30:30 = سه‌ماههٔ اول 2008
1995-12-22T09:05:02 = سه‌ماههٔ چهارم 1995
-0010-09-15T04:44:23 = سه‌ماههٔ سوم -10

yQQQQ (QQQQ y)

Quarter again, same output, because the page says so and we respect the page:

2008-02-05T18:30:30 = سه‌ماههٔ اول 2008
1995-12-22T09:05:02 = سه‌ماههٔ چهارم 1995
-0010-09-15T04:44:23 = سه‌ماههٔ سوم -10

yw-count-one (هفتهٔ wم Y)

Week-of-year, the one plural category — check out the -count-one in the name, that's the CLDR plural form doing its thing 🦋

2008-02-05T18:30:30 = هفتهٔ 6م 2008
1995-12-22T09:05:02 = هفتهٔ 51م 1995
-0010-09-15T04:44:23 = هفتهٔ 37م -10

yw-count-other (هفتهٔ wم Y)

And the other plural category — same pattern string, same output, different plural bucket, no cap:

2008-02-05T18:30:30 = هفتهٔ 6م 2008
1995-12-22T09:05:02 = هفتهٔ 51م 1995
-0010-09-15T04:44:23 = هفتهٔ 37م -10

✨ Miscellaneous ✨

Little details, big personality:

  • Prefers 24 hour time? Yes.
  • Local first day of the week — 1 (دوشنبه)
so yes, 24-hour clock girlie, and the week starts on day 1, which is دوشنبه. Noted, filed, respected 👑

🌈 Strftime Patterns 🌈

These are the classic strftime-style ones — the OG pattern language, still iconic, still showing up in your codebase:

%c (%a %b %e %H:%M:%S %Y) — date time format

The whole date and the whole time, one %c, zero chill:

2008-02-05T18:30:30 = سه‌شنبه فوریه  5 18:30:30 2008
1995-12-22T09:05:02 = جمعه دسامبر 22 09:05:02 1995
-0010-09-15T04:44:23 = شنبه سپتامبر 15 04:44:23 -10
yes there are genuinely two spaces between فوریه and 5 in that first line — that's %e, which space-pads. Not a typo, she's just like that 💅

%x (%m/%d/%y) — date format

Month/day/year, all zero-padded, all business:

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

Hours, minutes, seconds, 24-hour, done:

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 💖

See DateTime::Locale.

(That's the whole support section, bestie — she's self-sufficient, we love that for her 🫶)


and that's the whole page, you made it!! 🎉 go forth and format some Persian dates with main character energy. this little gem shipped as part of perl v5.42.0, dated 2024-12-12 — shoutout to the contributors who got every last one of these patterns in, we see you, we appreciate you, periodt 🌸💜

📦 where this page comes from