Python Time: tutto quello che c’è da sapere sull’utilizzo e sulle funzioni del modulo
Python time
è un modulo che permette di ottenere informazioni relative al tempo in questo linguaggio di programmazione. Il modulo offre numerose funzioni e utilizza l’indicazione temporale Unix e gli oggetti struct_time
.
Che cos’è Python time
e come si utilizza questo modulo?
Il modulo Python time
è fondamentale per implementare e tenere conto delle informazioni relative al tempo in questo linguaggio di programmazione. Tra le attività che possono essere eseguite da questo modulo vi sono la visualizzazione dell’ora corrente, la formattazione delle informazioni relative al tempo e l’indicazione di una durata specifica nel corso dell’esecuzione di una funzione. Per utilizzare il modulo, è necessario prima importare Python time
con la seguente parola chiave:
import time
pythonSuccessivamente puoi utilizzare diverse funzioni del modulo. Nelle parti seguenti ti mostriamo le più importanti. Se sei alla ricerca di un’alternativa a Python time
, Python datetime è una buona soluzione.
- Massima sicurezza dei tuoi dati
- Strumenti di collaborazione per lavorare in team
- Aggiornamenti automatici
time.time()
e il significato della marca temporale di Unix
Alla base della funzione time.time()
vi è la marca temporale di Unix. Essa descrive un momento preciso nel passato a partire dal quale viene misurato il tempo in un sistema. Per Windows e molti sistemi Unix questo istante è il 1º gennaio 1970, alle ore 00:00:00 (tempo coordinato universale). Anche Python si basa su questo momento. In alternativa, il calcolo a partire da questo secondo preciso è detto anche “tempo trascorso dall’epoca”. La funzione time.time()
fornisce il numero di secondi trascorsi a partire da quell’istante all’inizio degli anni Settanta. Per farlo, puoi utilizzare il seguente codice:
import time
tempo_trascorso = time.time()
print("Secondi trascorsi dall'epoca: ", tempo_trascorso)
pythonNel momento in cui stavamo scrivendo questo testo, abbiamo ricevuto questo risultato:
1716816325
pythontime.ctime()
: come indicare i dati in modo leggibile
Tuttavia, poiché normalmente non è possibile fare molto con queste informazioni, Python time
ti offre la possibilità di utilizzare la marca temporale di Unix come base per l’informazione su una data. In questo modo puoi trarre vantaggio dalla precisione di questa misurazione del tempo e ottenere la marca temporale in un formato comprensibile. La funzione da usare a tal fine è time.ctime()
, che converte la marca temporale di Unix direttamente in una data. Il codice da utilizzare è il seguente:
import time
tempo_trascorso = 1716816325
tempo_corrente = time.ctime(tempo_trascorso)
print("La data e l'ora correnti sono: ", tempo_corrente)
pythonL’output che otteniamo si presenta così e tiene conto dell’ora locale:
La data e l'ora correnti sono: Mon May 27 2024 15:25:25
pythonLa soluzione ideale per lavorare con il tuo progetto web: con Deploy Now di IONOS puoi implementare modifiche del codice direttamente con GitHub e trarre vantaggio dall’adattamento in tempo reale. Vieni a scoprire il piano più adatto alle tue esigenze!
time.sleep()
: pianificazione dell’esecuzione di un programma
Il modulo Python time
offre comunque molte più possibilità rispetto alla semplice indicazione della data e dell’ora correnti. Ad esempio, è utilizzato anche per gestire o ritardare l’esecuzione di un programma. La funzione per farlo è time.sleep()
e la sua sintassi è la seguente:
import time
print("Questo testo viene mostrato subito… ")
time.sleep(5)
print("…e questo invece dopo 5 secondi.")
pythonL’output che otteniamo è il seguente:
Questo testo viene mostrato subito…
…e questo invece dopo 5 secondi.
pythonLa seconda parte viene visualizzata solo dopo un ritardo di cinque secondi. Se desideri conoscere in dettaglio le possibilità di applicazione di Python time.sleep(), leggi i nostri consigli nella Digital Guide.
Oggetti struct_time
per Python time
Per molte funzioni di Python time
è fondamentale usare l’oggetto struct_time
. È utilizzato principalmente come parametro o valore restituito e fornisce una tupla il cui valore può essere specificato tramite l’indice o l’attributo. A tal fine è possibile utilizzare i seguenti attributi:
Indice | Attributo | Descrizione | Possibili valori |
---|---|---|---|
0 | tm_year | Numero dell’anno | 0000, …, 2024, …, 9999 |
1 | tm_mon | Numero del mese | 1, 2, 3, …, 12 |
2 | tm_mday | Giorno preciso del mese | 1, 2, 3, 31 |
3 | tm_hour | Ore | 0, 1, 2, …, 23 |
4 | tm_min | Minuti | 0, 1, 2, …, 59 |
5 | tm_sec | Secondi | 0, 1, 2, …, 60, 61 |
6 | tm_wday | Giorno della settimana | 0 (per lunedì), …, 6 (per domenica) |
7 | tm_yday | Giorno dell’anno | 1, 2, 3, …, 366 |
8 | tm_isdst | Ora legale o solare | 0 (solare), 1 (legale) oppure -1 (non indicato) |
time.localtime()
: unione di struct_time
e del tempo a partire dall’epoca
La funzione time.localtime()
utilizza un oggetto struct_time
di questo tipo come base per la marca temporale di Unix. Il codice si presenta così:
import time
dato temporale = time.time()
tempo_corrente = time.localtime(informazione temporale)
print(tempo_corrente)
pythonIn questo modo ottieni il seguente risultato:
time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
pythonIn alternativa è anche possibile scegliere un valore a piacere per il parametro localtime()
. In tal caso, il codice si presenta così:
import time
dato temporale = time.time()
tempo_corrente = time.localtime(1716816325)
print(tempo_corrente)
pythonIl risultato corrisponde quindi nuovamente all’esempio precedente:
time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
pythontime.mktime()
: l’opposto di localtime()
La funzione time.mktime()
in Python time
è il contrario di localtime()
. In questo caso si utilizza un oggetto struct_time
come parametro ed è il sistema a fornirti la marca temporale adatta per il tempo trascorso dall’epoca. Il codice si presenta così:
import time
tempo = time.mktime(local_time)
print(tempo)
pythonCome output otteniamo un valore in secondi con il seguente formato:
1716816325
pythontime.gmtime()
: tempo coordinato universale per la visualizzazione
time.gmtime()
è in gran parte equivalente a time.localtime()
. Tuttavia, in questo caso l’oggetto struct_time
corrispondente viene restituito sotto forma di tempo coordinato universale. Il codice è:
import time
time_stamp = time.time()
tempo_universale = time.gmtime(time_stamp)
stampa(tempo_universale)
pythonCon questa funzione time
di Python, il risultato differisce per alcuni dettagli dall’esempio precedente:
time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=13, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=0)
pythontime.asctime()
: oggetti struct_time
in stringhe
È possibile utilizzare time.asctime()
per convertire un oggetto struct_time
in una stringa di Python. Ad esempio, la stringa potrebbe presentarsi così:
import time
tempo = time.localtime()
dato_leggibile = time.asctime(tempo)
print(dato_leggibile)
pythonIn questo modo ottieni un risultato più chiaro:
Mon May 27 15:25:25 2024
pythontime.strftime()
: creazione di una sequenza di caratteri con Python time
Sono possibili diverse varianti con time.strftime()
. A tal fine si utilizzano codici formato diversi per visualizzare il tempo corrente nel formato desiderato. L’elenco seguente ti mostra una visione d’insieme dei diversi codici formato più importanti:
- %Y: rappresenta il numero dell’anno nel formato 0001, …, 2024, …, 9999
- %m: indica il mese per mezzo dei numeri da 01 (gennaio) a 12 (dicembre)
- %d: indica il giorno dal 1º al 31 del mese.
- %H: rappresenta l’ora compresa nell’intervallo tra 00 e 23
- %M: indica i minuti sotto forma di numeri tra 00 e 59
- %S: mostra i secondi da 00 a 61
All’interno del codice si potrebbe scrivere così:
import time
tempo = time.localtime()
dato_leggibile = time.strftime("%d-%m-%Y, %H:%M:%S", tempo)
print(dato_leggibile)
pythonIn questo caso, il risultato sarebbe:
27-05-2024, 15:25:25
pythontime.strptime()
: conversione di stringhe in oggetti struct_time
Anche per la funzione precedente è disponibile una controparte in Python time
: time.strptime()
utilizza una stringa per restituire un oggetto struct_time
. Il codice per farlo è il seguente:
import time
tempo = time.strptime(dato_leggibile, "%d-%m-%Y, %H: %M:%S")
print(tempo)
pythonOtteniamo quindi di nuovo questo risultato:
time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
pythonNella nostra Digital Guide troverai molti altri articoli su questo apprezzato linguaggio di programmazione. Ad esempio sono disponibili un tutorial su Python, una guida per l’installazione di Python e un vademecum sugli operatori Python.