Python Time Module (con esempi)

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 timeper 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:00a 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_timebrevemente la classe.

time.struct_time Classe

Diverse funzioni nel timemodulo come gmtime(), asctime()ecc. Accettano l' time.struct_timeoggetto come argomento o lo restituiscono.

Ecco un esempio di time.struct_timeoggetto.

 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_timedell'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_timein 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 Noneviene 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) 

Articoli interessanti...