Tokeny formátu data
Existují dvě široce používané rodiny řetězců formátu data a překrývají se právě dost na to, aby byly nebezpečné. strftime — z C a zděděno Python, Ruby, PHP a GNU date — používá procent tokeny jako %Y. Unicode LDML, používaný ICU, Java, moment a dayjs, používá opakované písmena jako yyyy. V LDML je MM měsíc a mm minuta; získání tohoto páru zpět je klasická chyba.
Každý řádek níže je vykreslen pro stejný okamžik: pondělí 9. března 2026, 14:05:07 UTC. Toto datum je vybráno tak, aby nic neschovávalo — jednociferný den a měsíc odhalují doplňování nulami, odpolední hodina činí 12- a 24hodinové hodiny viditelně odlišnými a den v týdnu je jednoznačný.
Prázdný sloupec ekvivalentu znamená, že druhý dialekt nemá pro něj jeden token a musíte hodnotu skládat sami. Testovací sada vykresluje pole kalendáře pomocí vlastních funkcí data platformy a porovnává je s touto tabulkou, takže příklady nemohou od reality odklonit.
Rok
4| strftime | LDML | Pole | Vykresluje se jako |
|---|---|---|---|
| %Y | yyyy | Čtyřciferný rok | 2026 |
| %y | yy | Dvouciferný rokAmbiguózní v konstrukci. Vyhnout se tomu v čemkoli uloženém. | 26 |
| %C | Století — rok dělený 100 | 20 | |
| %G | YYYY | Rok číslování ISO týdnůLiší se od kalendářního roku kolem Nového roku. Použijte pouze s číslem ISO týdne. | 2026 |
Měsíc
4V LDML je MM měsíc a mm minuta.
| strftime | LDML | Pole | Vykresluje se jako |
|---|---|---|---|
| %m | MM | Měsíc, doplněný nulami | 03 |
| %-m | M | Měsíc, bez odsazení | 3 |
| %b | MMM | Zkrácený název měsíce | Mar |
| %B | MMMM | Úplný název měsíce | March |
Den a den v týdnu
8V LDML je dd den měsíce a DDD je den roku.
| strftime | LDML | Pole | Vykresluje se jako |
|---|---|---|---|
| %d | dd | Den měsíce, doplněný nulami | 09 |
| %-d | d | Den měsíce, bez odsazení | 9 |
| %e | Den měsíce, mezerou odsazen | 9 | |
| %j | DDD | Den roku, 001–366 | 068 |
| %a | EEE | Zkrácený název dne v týdnu | Mon |
| %A | EEEE | Úplný název dne v týdnu | Monday |
| %u | Den v týdnu jako číslo, pondělí je 1%w čísluje stejné dny od neděle jako 0. | 1 | |
| %V | ww | Číslo týdne ISO, týdny začínající pondělím | 11 |
Čas
8| strftime | LDML | Pole | Vykresluje se jako |
|---|---|---|---|
| %H | HH | Hodina na 24hodinových hodinách | 14 |
| %-H | H | Hodina bez odsazení | 14 |
| %I | hh | Hodina na 12hodinových hodinách | 02 |
| %M | mm | Minuta | 05 |
| %S | ss | Vteřina | 07 |
| %3N | SSS | Milisekundy | 000 |
| %p | a | DOP nebo odp. | PM |
| %s | Značka Unix — sekund od 1970-01-01 UTC | 1773065107 |
Časové pásmo
3Offset je číslo; název zóny je pravidlo. Pouze název přežívá změnu DST.
| strftime | LDML | Pole | Vykresluje se jako |
|---|---|---|---|
| %z | ZZ | UTC offset, bez dvojtečky | +0000 |
| %:z | XXX | UTC offset s dvojtečkou, jak chce ISO 8601 | +00:00 |
| %Z | zzz | Zkratka časového pásmaZkratky nejsou jedinečné — CST je alespoň tři různé zóny. | UTC |
Běžné kombinace
7Postaveno z výše uvedených tokenů — žádná knihovna není potřebná.
| strftime | LDML | Pole | Vykresluje se jako |
|---|---|---|---|
| %F | yyyy-MM-dd | Datum ISO | 2026-03-09 |
| %T | HH:mm:ss | 24hodinový čas | 14:05:07 |
| %FT%T%:z | yyyy-MM-dd'T'HH:mm:ssXXX | Úplná značka ISO 8601Formát, který se má uložit. Třídí se jako text, jednoznačný o offsetu. | 2026-03-09T14:05:07+00:00 |
| %a, %d %b %Y %T %z | EEE, dd MMM yyyy HH:mm:ss ZZ | RFC 2822 — e-mailové záhlaví a starší HTTP | Mon, 09 Mar 2026 14:05:07 +0000 |
| %m/%d/%Y | MM/dd/yyyy | Konvence USA, měsíc nejprve | 03/09/2026 |
| %d.%m.%Y | dd.MM.yyyy | Evropská konvence, den nejprve | 09.03.2026 |
| %% | '' | Doslova znaménko procenta | % |