Il modulo datetime in Python

Il modulo datetime in Python ti fornisce una serie di funzioni e classi per lavorare con date e orari.

È uno degli strumenti più utili per la gestione del tempo in Python e offre una vasta gamma di funzionalità per creare, manipolare e formattare oggetti date, time e datetime. E' estremamente versatile e può gestire molte situazioni complesse legate al tempo.

In particolar modo ti permette di definire gli oggetti di tipo date, time, datetime, ecc.

  • Oggetti date
    Questi oggetti sono utili quando vuoi rappresentare una data nel calendario, indipendentemente dall'orario. Ad esempio, per memorizzare date come compleanni, scadenze, ecc.
  • Oggetti time
    Gli oggetti del tipo time rappresentano gli orari indipendentemente dalla data. Sono utili per memorizzare l'orario di inizio e di fine di un evento, di un appuntamento, di un'attività da compiere nel giorno corrente ecc.
  • Oggetti datetime
    Combinano sia la data sia l'orario. Sono utilizzati per memorizzare momenti specifici con informazioni sia sulla data sia sull'orario.
  • Oggetti timedelta
    Questi oggetti rappresentano una durata di tempo, la differenza tra due date o orari.
  • Oggetti timezone
    Gli oggetti timezone sono utilizzati per rappresentare le informazioni relative al fuso orario. Questi oggetti permettono di compiere le conversioni di fuso orario e di gestire le operazioni con le date e gli orari tenendo conto dei fusi orari e dell'ora legale.

Ecco alcuni esempi pratici di come puoi utilizzare queste funzionalità.

Per prima cosa, devi importare il modulo datetime

import datetime

In alternativa, puoi importare solo le singole funzioni che ti interessa utilizzare.

from datetime import date, time, datetime

In quest'ultimo caso, puoi eseguire i metodi e le funzioni che hai indicato senza anteporre 'datetime' e il punto. Ad esempio, puoi scrivere date(2024,1,15) anziché datetime.date(2024,1,15)

Per creare un oggetto di tipo date con una data specifica utilizza la funzione date().

Ad esempio, definisci l'oggetto indicando l'anno, il mese e il giorno della data che ti interessa memorizzare.

d = datetime.date(2024, 1, 18)

Adesso utilizza la funzione time() per creare un oggetto di tipo time per memorizzare un'orario. Indica prima le ore e poi i minuti,

t = datetime.time(12, 30) 

Per creare un oggetto con la data e l'orario utilizza, invece, la funzione datetime()

dt = datetime.datetime(2024, 1, 18, 12, 30) 

Una volta definiti questi oggetti, puoi utilizzarli nell'elaborazione dei dati o nell'esecuzione del tuo script.

Ad esempio, per aggiungere dei giorni a una data puoi usare la funzione timedelta()

tomorrow = d + datetime.timedelta(days=1)

Puoi calcolare la differenza tra due oggetti dello stesso tipo.

duration = tomorrow - d
print(duration)

1 day, 0:00:00

Puoi anche estrarre le singole informazioni contenute negli oggetti tramite le funzioni che di permettono la formattazione e il parsing delle date e degli orari.

Ad esempio, per formattare un oggetto data in una stringa puoi scrivere:

formatted_date = d.strftime("%Y-%m-%d")
print(formatted_date)

'2024-01-18'

Puoi anche convertire una stringa in un oggetto datetime

from datetime import datetime
date_string = "15 January, 2024"
parsed_date = datetime.strptime(date_string, "%d %B, %Y")
print(parsed_date)

2024-01-15 00:00:00

Questi sono solo alcuni esempi pratici di utilizzo tra i tanti possibili.

Per approfondire ulteriormente, nei prossimi tutorial vedremo come esplorare situazioni più complesse come la gestione dell'ora legale, la conversione tra diversi fusi orari e l'elaborazione di formati di data e ora più esotici.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin