Módulo de tempo Python
Módulo de tempo do Python
Neste artigo, exploraremos o módulo de tempo em detalhes. Aprenderemos a usar diferentes funções relacionadas ao tempo definidas no módulo de tempo com a ajuda de exemplos.
Python tem um módulo chamado
time
para lidar com tarefas relacionadas ao tempo. Para usar funções definidas no módulo, precisamos primeiro importar o módulo. Veja como:
import time
Aqui estão as funções relacionadas ao tempo comumente usadas.
Python time.time()
O
time()
A função retorna o número de segundos passados desde a época. Para sistema Unix,
January 1, 1970, 00:00:00
em UTC é época (o ponto onde o tempo começa).
import time
seconds = time.time()
print("Seconds since epoch =", seconds)
Python time.ctime()
O
time.ctime()
função leva segundos passados desde epoch como um argumento e retorna uma string representando a hora local.
import time
# seconds passed since epoch
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)
Se você executar o programa, a saída será algo como:
Local time: Thu Dec 27 15:49:29 2018
Python time.sleep()
O
sleep()
A função suspende (atrasa) a execução do thread atual por um determinado número de segundos.
import time
print("This is printed immediately.")
time.sleep(2.4)
print("This is printed after 2.4 seconds.")
Para saber mais, visite:Python sleep().
Antes de falarmos sobre outras funções relacionadas ao tempo, vamos explorar
time.struct_time
aula resumidamente. classe time.struct_time
Várias funções no
time
módulo como gmtime()
, asctime()
etc. ou use time.struct_time
objeto como um argumento ou devolvê-lo. Aqui está um exemplo de
time.struct_time
objeto. 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)
Índice | Atributo | Valores |
---|---|---|
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; Segunda-feira é 0 |
7 | tm_yday | 1, 2, ..., 366 |
8 | tm_isdst | 0, 1 ou -1 |
Os valores (elementos) do
time.struct_time
objeto são acessíveis usando índices e atributos. Python time.localtime()
O
localtime()
função pega o número de segundos passados desde a época como um argumento e retorna struct_time
na hora local .
import time
result = time.localtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
Ao executar o programa, a saída será algo como:
result: 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) year: 2018 tm_hour: 15
Se nenhum argumento ou
None
é passado para localtime()
, o valor retornado por time()
é usado. Python time.gmtime()
O
gmtime()
A função recebe o número de segundos passados desde a época como argumento e retorna struct_time
em UTC .
import time
result = time.gmtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
Ao executar o programa, a saída será:
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
Se nenhum argumento ou
None
é passado para gmtime()
, o valor retornado por time()
é usado. Python time.mktime()
O
mktime()
função leva struct_time
(ou uma tupla contendo 9 elementos correspondentes a struct_time
) como argumento e retorna os segundos passados desde a época na hora local. Basicamente, é a função inversa de localtime()
.
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Local time:", local_time)
O exemplo abaixo mostra como
mktime()
e localtime()
são relacionados.
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)
Ao executar o programa, a saída será algo como:
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()
O
asctime()
função leva struct_time
(ou uma tupla contendo 9 elementos correspondentes a struct_time
) como um argumento e retorna uma string que o representa. Aqui está um exemplo:
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Result:", result)
Ao executar o programa, a saída será:
Result: Fri Dec 28 08:44:04 2018
Python time.strftime()
O
strftime()
função leva struct_time
(ou tupla correspondente a ele) como um argumento e retorna uma string que o representa com base no código de formato usado. Por exemplo,
import time
named_tuple = time.localtime() # get struct_time
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
Ao executar o programa, a saída será algo como:
12/28/2018, 09:47:41
Aqui,
%Y
, %m
, %d
, %H
etc. são códigos de formato. %Y
- ano [0001,..., 2018, 2019,..., 9999]%m
- mês [01, 02, ..., 11, 12]%d
- dia [01, 02, ..., 30, 31]%H
- hora [00, 01, ..., 22, 23%M
- minutos [00, 01, ..., 58, 59]%S
- segundo [00, 01, ..., 58, 61]
Para saber mais, visite:time.strftime().
Python time.strptime()
O
strptime()
função analisa uma string representando o tempo e retorna struct_time
.
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
Ao executar o programa, a saída será:
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)
python