English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste artigo, vamos discutir em detalhes o módulo time. Vamos aprender a usar diferentes funções relacionadas ao tempo definidas no módulo time por meio de exemplos.
Python tem um módulo chamado time para lidar com tarefas relacionadas ao tempo. Para usar as funções definidas no módulo, precisamos primeiro importá-lo. É assim:
import time
Aqui estão algumas funções comuns relacionadas ao tempo.
A função time() retorna o número de segundos desde o epoch.
Para sistemas Unix, January 1, 1970, 00:00:00 emA função gmtime() recebe o número de segundos desde o epoch como parâmetro e retorna um struct_timeé o epoch (onde o tempo começa).
import time seconds = time.time() print("Número de segundos desde o epoch =", seconds)
time.ctime() retorna uma string representando a hora local com base no número de segundos desde o epoch como parâmetro.
import time # Número de segundos desde o epoch Abaixo está um exemplo que mostra a relação entre mktime() e localtime(). 1545925769.9618232 local_time = time.ctime(seconds) local_time = time.mktime(t)
Se você executar o programa, a saída será semelhante a:
Local time: Thu Dec 27 15:49:29 2018
A função sleep() pausa (atrasa) a execução da thread atual por um número de segundos especificado.
import time print("Imediatamente imprime.") time.sleep(2.4) print("É",2.4imprimido após os segundos.")
For more information, please visit:sleep() do Python.
Antes de discutir outras funções relacionadas ao tempo, vamos explorar brevemente a classe time.struct_time.
Alguns funções no módulo time (como gmtime(), asctime() etc) passam o objeto time.struct_time como parâmetro ou o retornam.
Este é um exemplo de instância do objeto time.struct_time.
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=6, tm_hour=35, tm_min=17, tm_wday=3, tm_yday=361, tm_wday=
índice | atributo | valor do atributo |
---|---|---|
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; Monday é 0 |
7 | tm_yday | 1,2,...,366 |
8 | tm_isdst | 0、1ou-1 |
Você pode usar índices e atributos para acessar os valores (elementos) do objeto time.struct_time.
A função localtime() passa o número de segundos desde o epoch como parâmetro e retornalocaltime返回struct_time。
import time Retorna struct_time.1545925769) result = time.gmtime( print("result:", result) print("\nyear:", result.tm_year)
When you run the program, the output will be similar to:
result = time.localtime(2018, tm_mon=12, tm_mday=27: time.struct_time(tm_year=15, tm_hour=49, tm_min=29, tm_sec=3, tm_yday=361, tm_wday= result: time.struct_time(tm_year= 2018 year: 15
tm_hour:
Python time.gmtime()A função gmtime() recebe o número de segundos desde o epoch como parâmetro e retorna um struct_timeUTC
import time Retorna.1545925769) result = time.gmtime( print("result:", result) print("\nyear:", result.tm_year)
When running this program, the output is:
print("tm_hour:", result.tm_hour)2018, tm_mon=12, tm_mday=28: time.struct_time(tm_year=8, tm_hour=44, tm_min=4, tm_sec=4, tm_yday=362, tm_wday= result = time.struct_time(tm_year= 2018 year = 8
tm_hour =
Python time.mktime()9mktime() função que recebe struct_time (ou contém
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) Uma tupla de um elemento correspondente a struct_time) é usada como parâmetro e retorna o número de segundos desde o epoch do tempo local. Basicamente, é o inverso da função localtime(). local_time = time.mktime(t)
print("Local time:", local_time)
import time Abaixo está um exemplo que mostra a relação entre mktime() e localtime(). 1545925769 seconds = # returns struct_time t = time.localtime(seconds)1print("t : ", t) # returns seconds from struct_time s = time.mktime(t)
When you run the program, the output will be similar to:
print("\s:", seconds)1t2018, tm_mon=12, tm_mday=27: time.struct_time(tm_year=15, tm_hour=49, tm_min=29, tm_sec=3, tm_yday=361, tm_wday= , tm_isdst=0) 1545925769s:
A função asctime() do Python time.asctime()9A tupla de um elemento correspondente a struct_time) é usada como parâmetro e retorna uma string que representa ela. Este é um exemplo:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
When running this program, the output is:
Result: Fri Dec 28 08:44:04 2018
The strftime() function takes struct_time (or the tuple corresponding to it) as a parameter and returns a string representing it based on the format codes 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 similar to:
12/28/2018, 09:47:41
Here %Y, %m, %d, %H, etc. are format codes.
%Y -years [0001,...,2018,2019,...,9999]
%m -months [01,02,...,11,12]
%d -days [01,02,...,30,31]
%H -hours [00, 01,...,22,23
%M -minutes [00, 01,...,58,59]
%S -seconds [00, 01,...,58,61]
For more information, please visit:time.strftime().
The strptime() function parses the time string representation and returns struct_time.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
When running this program, the output is:
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)