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
python

Successivamente 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.

Managed Nextcloud di IONOS Cloud
Lavora con il tuo team sul cloud
  • 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)
python

Nel momento in cui stavamo scrivendo questo testo, abbiamo ricevuto questo risultato:

1716816325
python

time.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)
python

L’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
python
Consiglio

La 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.")
python

L’output che otteniamo è il seguente:

Questo testo viene mostrato subito…
…e questo invece dopo 5 secondi.
python

La 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)
python

In 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)
python

In 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)
python

Il 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)
python

time.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)
python

Come output otteniamo un valore in secondi con il seguente formato:

1716816325
python

time.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)
python

Con 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)
python

time.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)
python

In questo modo ottieni un risultato più chiaro:

Mon May 27 15:25:25 2024
python

time.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)
python

In questo caso, il risultato sarebbe:

27-05-2024, 15:25:25
python

time.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)
python

Otteniamo 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)
python
Consiglio

Nella 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.

Hai trovato questo articolo utile?
Vai al menu principale