Ce face datetime.date și date.today()
date reprezintă doar o zi din calendar. date.today() dă data de azi (după ceasul local). Atributele year, month și day dau componentele.
Scăderea a două date dă un timedelta cu numărul de zile; la o dată poți aduna un timedelta. O dată invalidă (31 februarie) aruncă ValueError la creare.
Parametri
| Parametru | Descriere |
|---|---|
an, luna, zi |
Componentele datei. |
Ce returnează
Un obiect date.
Exemple
Exemplul 1: Data de azi
from datetime import date
azi = date.today()
print(azi, azi.year)
Rezultat posibil (diferă la fiecare rulare)
2026-10-19 2026
Exemplul 2: Zile până la un eveniment și vârsta
from datetime import date
azi = date(2026, 10, 19)
craciun = date(2026, 12, 25)
print((craciun - azi).days, "zile până la Crăciun")
nastere = date(1998, 3, 5)
varsta = azi.year - nastere.year - ((azi.month, azi.day) < (nastere.month, nastere.day))
print("Vârsta:", varsta)
try:
date(2026, 2, 30)
except ValueError as e:
print("Eroare:", e)
Rezultat
67 zile până la Crăciun
Vârsta: 28
Eroare: day 30 must be in range 1..28 for month 2 in year 2026
Greșeli frecvente
- Calculezi vârsta cu
(azi - nastere).days // 365. Anii bisecți strică rezultatul în jurul zilei de naștere; compară anul, luna și ziua.
Comenzi înrudite
datetime.datetime: Clasa pentru o dată împreună cu ora: creare, data și ora curentă, calcule și comparații.datetime.timedelta: O durată de timp: diferența dintre două date sau intervalul adăugat la o dată.weekday(), isoweekday() și isocalendar(): Ziua din săptămână, numărul săptămânii din an și data dintr-o săptămână ISO.strftime(): formatarea datelor: Transformă o dată sau o oră în text, după un șablon ca %d.%m.%Y %H:%M.