datetime.date și date.today() în Python

Dată și oră Python 3.0+

Clasa pentru o dată calendaristică fără oră: zi, lună, an.

Sintaxă
from datetime import date
date(an, luna, zi)
date.today()

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