In questo articolo, esploreremo in dettaglio il modulo temporale. Impareremo a utilizzare diverse funzioni relative al tempo definite nel modulo time con l'aiuto di esempi.
Python ha un modulo chiamato time
per gestire le attività legate al tempo. Per utilizzare le funzioni definite nel modulo, dobbiamo prima importare il modulo. Ecco come:
import time
Di seguito sono riportate le funzioni relative al tempo di uso comune.
Python time.time ()
La time()
funzione restituisce il numero di secondi trascorsi dall'epoca.
Per il sistema Unix, January 1, 1970, 00:00:00
a UTC è l'epoca (il punto in cui inizia il tempo).
import time seconds = time.time() print("Seconds since epoch =", seconds)
Python time.ctime ()
La time.ctime()
funzione prende i secondi trascorsi da Epoch come argomento e restituisce una stringa che rappresenta l'ora locale.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Se esegui il programma, l'output sarà qualcosa del tipo:
Ora locale: giovedì 27 dicembre 15:49:29 2018
Python time.sleep ()
La sleep()
funzione sospende (ritarda) l'esecuzione del thread corrente per il numero di secondi specificato.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Per saperne di più, visita: Python sleep ().
Prima di parlare di altre funzioni relative al tempo, esploriamo time.struct_time
brevemente la classe.
time.struct_time Classe
Diverse funzioni nel time
modulo come gmtime()
, asctime()
ecc. Accettano l' time.struct_time
oggetto come argomento o lo restituiscono.
Ecco un esempio di time.struct_time
oggetto.
time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 6, tm_min = 35, tm_sec = 17, tm_wday = 3, tm_yday = 361, tm_isdst = 0)
Indice | Attributo | Valori |
---|---|---|
0 | tm_year | 0000,…., 2018,…, 9999 |
1 | tm_mon | 1, 2, …, 12 |
2 | tm_mday | 1, 2,…, 31 |
3 | tm_hour | 0, 1, …, 23 |
4 | tm_min | 0, 1,…, 59 |
5 | tm_sec | 0, 1,…, 61 |
6 | tm_wday | 0, 1,…, 6; Il lunedì è 0 |
7 | tm_yday | 1, 2, …, 366 |
8 | tm_isdst | 0, 1 o -1 |
I valori (elementi) time.struct_time
dell'oggetto sono accessibili utilizzando sia gli indici che gli attributi.
Python time.localtime ()
La localtime()
funzione prende il numero di secondi trascorsi dal epoca come argomento e ritorna struct_time
in ora locale .
import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Quando esegui il programma, l'output sarà qualcosa del tipo:
risultato: time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 15, tm_min = 49, tm_sec = 29, tm_wday = 3, tm_yday = 361, tm_isdst = 0) anno: 2018 tm_hour: 15
Se non None
viene passato alcun argomento o a localtime()
, time()
viene utilizzato il valore restituito da .
Python time.gmtime ()
The gmtime()
function takes the number of seconds passed since epoch as an argument and returns struct_time
in UTC.
import time result = time.gmtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
When you run the program, the output will be:
result = time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0) year = 2018 tm_hour = 8
If no argument or None
is passed to gmtime()
, the value returned by time()
is used.
Python time.mktime()
The mktime()
function takes struct_time
(or a tuple containing 9 elements corresponding to struct_time
) as an argument and returns the seconds passed since epoch in local time. Basically, it's the inverse function of localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
The example below shows how mktime()
and localtime()
are related.
import time seconds = 1545925769 # returns struct_time t = time.localtime(seconds) print("t1: ", t) # returns seconds from struct_time s = time.mktime(t) print("s:", seconds)
When you run the program, the output will be something like:
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
Python time.asctime()
The asctime()
function takes struct_time
(or a tuple containing 9 elements corresponding to struct_time
) as an argument and returns a string representing it. Here's an example:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
When you run the program, the output will be:
Result: Fri Dec 28 08:44:04 2018
Python time.strftime()
The strftime()
function takes struct_time
(or tuple corresponding to it) as an argument and returns a string representing it based on the format code used. For example,
import time named_tuple = time.localtime() # get struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
When you run the program, the output will be something like:
12/28/2018, 09:47:41
Here, %Y
, %m
, %d
, %H
etc. are format codes.
%Y
- year (0001,… , 2018, 2019,… , 9999)%m
- mese (01, 02,…, 11, 12)%d
- giorno (01, 02,…, 30, 31)%H
- ora (00, 01,…, 22, 23%M
- minuti (00, 01,…, 58, 59)%S
- secondo (00, 01,…, 58, 61)
Per saperne di più, visita: time.strftime ().
Python time.strptime ()
La strptime()
funzione analizza una stringa che rappresenta l'ora e restituisce struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Quando esegui il programma, l'output sarà:
time.struct_time (tm_year = 2018, tm_mon = 6, tm_mday = 21, tm_hour = 0, tm_min = 0, tm_sec = 0, tm_wday = 3, tm_yday = 172, tm_isdst = -1)