Treci la conținutul principal

Date în Python

Python nu are un tip de date dedicat pentru date calendaristice. În schimb, imporți un modul numit datetime și lucrezi cu datele ca obiecte dată.

Exemplu

Afișează data curentă după ce imporți modulul datetime:
Prompt
Importă modulul datetime și afișează data și ora curentă folosind datetime.datetime.now().
Ieșire: program Python complet

Afișarea datei

Rezultatul pe care îl vezi provine din rularea codului din exemplul anterior.

O astfel de dată este formată din an, lună, zi, oră, minut, secundă și microsecundă.

Multe metode din modulul datetime îți pot spune mai multe despre un obiect dată.

Iată câteva exemple; restul acestei lecții prezintă mai multe:

Exemplu

Afișează anul și numele zilei săptămânii:
Prompt
Importă modulul datetime și obține data curentă. Afișează anul și numele zilei săptămânii folosind strftime("%A").
Ieșire: program Python complet

Crearea obiectelor dată

Clasa datetime(), un constructor din modulul datetime, este ceea ce apelezi ca să creezi o dată.

Are nevoie de trei parametri: anul, luna și ziua.

Poți transmite și valori pentru oră și fus orar (oră, minut, secundă, microsecundă, tzinfo). Acestea sunt opționale și au valoarea implicită 0 sau None în cazul fusului orar.

Exemplu

Creează un obiect dată:
Prompt
Importă modulul datetime și creează un obiect dată pentru 17 mai 2020. Folosește datetime.datetime(2020, 5, 17) și afișează-l.
Ieșire: program Python complet

Metoda strftime()

Ca să transformi un obiect dată într-un șir ușor de citit, folosește o metodă a obiectului datetime.

Această metodă este strftime(). Singurul ei parametru, format, descrie cum trebuie să arate șirul returnat:

Acestea sunt codurile de format pe care le poți folosi:

  • %a - Numele scurt al zilei săptămânii (Wed)
  • %A - Numele complet al zilei săptămânii (Wednesday)
  • %w - Numărul zilei săptămânii 0-6, duminica fiind 0 (3)
  • %d - Ziua lunii, 01-31 (31)
  • %b - Numele scurt al lunii (Dec)
  • %B - Numele complet al lunii (December)
  • %m - Numărul lunii, 01-12 (12)
  • %y - Anul din două cifre, fără secol (18)
  • %Y - Anul din patru cifre (2018)
  • %H - Ora în format de 24 de ore, 00-23 (17)
  • %I - Ora în format de 12 ore, 01-12 (05)
  • %p - AM sau PM (PM)
  • %M - Minutul, 00-59 (41)
  • %S - Secunda, 00-59 (08)
  • %f - Microsecunda, 000000-999999 (548513)
  • %z - Decalajul față de UTC (+0100)
  • %Z - Numele fusului orar (CST)
  • %j - Ziua din an, 001-366 (365)
  • %U - Săptămâna din an, 00-53, săptămânile începând duminica (52)
  • %W - Săptămâna din an, 00-53, săptămânile începând lunea (52)
  • %c - Data și ora în format local (Mon Dec 31 17:41:00 2018)
  • %C - Secolul (20)
  • %x - Data în format local (12/31/18)
  • %X - Ora în format local (17:41:00)
  • %% - Caracterul % literal (%)
  • %G - Anul ISO 8601 (2018)
  • %u - Numărul zilei săptămânii în ISO 8601, 1-7 (1)
  • %V - Numărul săptămânii ISO 8601, 01-53 (01)

Exemplu

Afișează numele complet al lunii:
Prompt
Importă modulul datetime și creează un obiect dată pentru 1 iunie 2018. Folosește strftime("%B") pentru a afișa numele complet al lunii.
Ieșire: program Python complet