Gestire date e orari in Python è una competenza fondamentale per chiunque lavori con dati temporali, registri eventi o analizzi informazioni cronologiche. Il linguaggio Python offre diverse librerie per la manipolazione delle date, permettendo di creare, formattare e modificare valori temporali con facilità .
In questa guida, esploreremo i principali strumenti per lavorare con le date in Python, dagli oggetti datetime ai timestamp UNIX, fino alla gestione dei fusi orari e alla memorizzazione nei database.
Le Librerie Principali per la Gestione delle Date in Python
datetime
La libreria datetime è il modulo predefinito per lavorare con le date in Python. Consente di creare, manipolare e formattare oggetti temporali in modo flessibile.
Esempio: Creazione di una data
import datetime
data_corrente = datetime.datetime.now()
print(“Data e ora attuale:”, data_corrente)
time
La libreria time è utilizzata principalmente per lavorare con i timestamp UNIX e per gestire ritardi nell’esecuzione del codice.
Esempio: Ottenere il timestamp corrente
import time
timestamp = time.time()
print(“Timestamp corrente:”, timestamp)
dateutil
La libreria dateutil estende le funzionalità di datetime, permettendo il parsing automatico delle date e altre operazioni avanzate.
Esempio: Parsing di una stringa in data
from dateutil import parser
data = parser.parse(“10 Febbraio 2024”)
print(“Data convertita:”, data)
pandas (per Data Analysis)
Se si lavora con dataset, pandas offre strumenti avanzati per gestire le serie temporali e convertire stringhe in oggetti datetime.
Esempio: Conversione di stringhe in date con pandas
import pandas as pd
date_series = pd.to_datetime([“2024-01-01”, “2024-02-15”])
print(date_series)
Creare e Manipolare Date in Python
Creare una data con datetime
È possibile creare un oggetto datetime specificando anno, mese, giorno, ora, minuto e secondo.
import datetime
data_personalizzata = datetime.datetime(2024, 5, 10, 14, 30, 0)
print(“Data personalizzata:”, data_personalizzata)
Operazioni sulle date
Python consente di effettuare calcoli sulle date con il modulo timedelta.
from datetime import datetime, timedelta
oggi = datetime.now()
domani = oggi + timedelta(days=1)
print(“Domani:”, domani)
Formattazione delle date
Per convertire date in stringhe e viceversa, si usano i metodi strftime() e strptime().
# Da datetime a stringa
data_str = oggi.strftime(“%d/%m/%Y”)
print(“Data formattata:”, data_str)# Da stringa a datetime
data_parsed = datetime.strptime(“10/05/2024”, “%d/%m/%Y”)
print(“Data parsata:”, data_parsed)
Convertire Timestamp e Fusi Orari
Da Timestamp UNIX a Datetime
timestamp = 1700000000
data_da_timestamp = datetime.fromtimestamp(timestamp)
print(“Data dal timestamp:”, data_da_timestamp)
Gestire i fusi orari con pytz
La libreria pytz consente di lavorare con i fusi orari.
import pytz
fuso_italia = pytz.timezone(“Europe/Rome”)
data_italiana = datetime.now(fuso_italia)
print(“Data e ora in Italia:”, data_italiana)
Gestire le Date nei File e nei Database
Salvare e leggere date in file CSV e JSON
df = pd.DataFrame({“data”: [datetime.now().strftime(“%Y-%m-%d”)]})
df.to_csv(“date.csv”, index=False)
Gestire date nei database con SQLite
import sqlite3
conn = sqlite3.connect(“database.db”)
cursor = conn.cursor()cursor.execute(“CREATE TABLE IF NOT EXISTS eventi (id INTEGER PRIMARY KEY, data_evento TEXT)”)
cursor.execute(“INSERT INTO eventi (data_evento) VALUES (?)”, (datetime.now().isoformat(),))conn.commit()
conn.close()
Errori Comuni nella Gestione delle Date
Gestire le date in Python è essenziale per molte applicazioni. Grazie a librerie come datetime, pandas e pytz, è possibile manipolare facilmente i dati temporali, formattarli e archiviarli nei database, bisogna stare attenti però a una serie di errori comuni.
- Fuso orario non gestito correttamente: convertire sempre in UTC prima di memorizzare nei database;
- Errore di formattazione stringhe: controllare il formato usato in strftime() e strptime();
- Differenze tra datetime.date, datetime.datetime e datetime.time: usare il tipo giusto per ogni contesto.
Scopri il Corso Online di Python di Scuola Moscati
Se vuoi padroneggiare la gestione delle date e imparare a programmare in Python in modo professionale, Scuola Moscati offre un Corso Base di Python per Principianti. Questo percorso professionale ti guiderà dalle basi fino agli argomenti avanzati, con esempi pratici e supporto personalizzato.
Iscriviti oggi stesso e inizia il tuo percorso nel mondo della programmazione con Python!

