strftime(): formatarea datelor în Python

Dată și oră Python 3.0+

Transformă o dată sau o oră în text, după un șablon ca %d.%m.%Y %H:%M.

Sintaxă
data.strftime(format)
f"{data:%d.%m.%Y}"

Ce face strftime(): formatarea datelor

strftime() există pe date, datetime și time și construiește un text după un șablon cu coduri. Coduri uzuale: %d zi (01-31), %m lună (01-12), %Y an cu 4 cifre, %y an cu 2 cifre, %H ora (00-23), %M minut, %S secundă, %j ziua din an, %A/%a numele zilei, %B/%b numele lunii, %% semnul procent.

Același șablon merge și în f-string-uri: f"{data:%d.%m.%Y}". Numele zilelor și lunilor sunt în engleză, dacă nu setezi o localizare românească cu locale.setlocale(); mai sigur este un dicționar propriu cu denumirile românești.

Parametri

Parametru Descriere
format Șablonul cu coduri %.

Ce returnează

Un text.

Exemple

Exemplul 1: Formate românești uzuale

from datetime import datetime
d = datetime(2026, 10, 19, 14, 5, 9)
print(d.strftime("%d.%m.%Y"))
print(d.strftime("%d.%m.%Y %H:%M"))
print(d.strftime("%Y-%m-%d_%H%M%S"))
print(f"{d:%d/%m/%y}", d.strftime("ziua %j din an"))

Rezultat

19.10.2026
19.10.2026 14:05
2026-10-19_140509
19/10/26 ziua 292 din an

Exemplul 2: Numele zilei și lunii în română

from datetime import date
ZILE = ["luni", "marți", "miercuri", "joi", "vineri", "sâmbătă", "duminică"]
LUNI = ["ianuarie", "februarie", "martie", "aprilie", "mai", "iunie", "iulie",
        "august", "septembrie", "octombrie", "noiembrie", "decembrie"]
d = date(2026, 10, 19)
print(d.strftime("%A, %d %B %Y"))
print(f"{ZILE[d.weekday()]}, {d.day} {LUNI[d.month - 1]} {d.year}")

Rezultat

Monday, 19 October 2026
luni, 19 octombrie 2026

Exemplul 3: Pe date, datetime și time

from datetime import date, time
print(date(2026, 1, 5).strftime("%d %b %Y"))
print(time(9, 7).strftime("%H:%M"), time(21, 7).strftime("%I:%M %p"))

Rezultat

05 Jan 2026
09:07 09:07 PM

Greșeli frecvente

  • Confunzi %m (luna) cu %M (minutul) și obții date ca „19.05.2026” la ora 14:05.
  • Folosești %-d pentru zi fără zero în față: funcționează pe Linux și macOS, dar nu pe Windows. Mai portabil: d.day într-un f-string.

Comenzi înrudite