CLDR a

AM/PM marker.

PM

at the reference instant, Mon, Jan 2 2006, 3:04:05 PM MST

The day period (AM/PM). Case differs by language and locale: strftime %p is uppercase in C locale, Ruby offers %P lowercase, CLDR follows locale data.

LanguageTokenCaveat
C / POSIX strftime%pThe locale's equivalent of a.m./p.m. — can be empty in locales without day periods.
C# custom formatttA single t prints only the first character (P) of the designator.
CLDR / ICU patternaCase follows the locale; b adds noon/midnight and B flexible day periods like "at night".
Go time layoutPMWrite pm for lowercase output.
Java DateTimeFormatteraLocale text; B gives day periods like 'in the morning'.
Moment.js formatALowercase a gives am/pm.
PHP date()AUppercase AM/PM; lowercase a gives am/pm.
Python strftime%pLocale-dependent; empty in some locales that don't use day periods.
Ruby strftime%pUppercase AM/PM; %P gives lowercase am/pm — the case of the letter is inverted from what you might expect.
Rust chrono%pUppercase AM/PM; %P gives lowercase am/pm.

Definition anchored to Unicode UTS #35 — Date Field Symbol Table.