Python time é o módulo que permite exibir dados de data e hora. Ele oferece di­fe­ren­tes funções, e usa a re­pre­sen­ta­ção de tempo Unix e objetos struct_time.

O que é Python time e como usar o módulo?

“Para trabalhar com in­for­ma­ções de tempo nessa linguagem de pro­gra­ma­ção, o módulo Python time é fun­da­men­tal. Entre as tarefas que este módulo pode realizar estão a exibição do tempo atual, a for­ma­ta­ção de dados de tempo e a es­pe­ci­fi­ca­ção de uma de­ter­mi­nada duração ao executar uma função. Para usar o módulo, o Python time deve ser importado com a seguinte palavra-chave:

import time
python

Depois disso, você pode aplicar várias funções com o módulo. As mais im­por­tan­tes são apre­sen­ta­das nas seções seguintes. Se você está pro­cu­rando uma al­ter­na­tiva ao Python time, o Python datetime é uma boa escolha.

Timestamp Unix e Python time.time()

A base para a função time.time() é o carimbo de data e hora Unix. Este descreve um ponto exato no passado, a partir do qual o tempo é medido em um sistema. Para Windows e muitos sistemas Unix, esse ponto é 1º de janeiro de 1970, às 00:00:00 (tempo universal co­or­de­nado). O Python também usa esse momento como base. O cálculo a partir desse segundo é chamado de “tempo Epoch”. A função time.time() retorna o número de segundos de­cor­ri­dos desde 1º de janeiro de 1970. Para isso, use o seguinte código:

import time 
elapsed_time = time.time() 
print("Elapsed seconds since Epoch: ", elapsed_time)
python

No momento da redação deste texto, obtivemos esta saída:

1716816325
python

Exibir data legível com Python time.ctime()

Como essa in­for­ma­ção pode não ser muito útil nor­mal­mente, o Python time oferece a pos­si­bi­li­dade de usar o timestamp Unix como base para uma data legível. Assim, você se beneficia da precisão dessa medição de tempo, mas recebe o timestamp em um formato com­pre­en­sí­vel. A função apro­pri­ada é time.ctime(). Ela converte o carimbo de data e hora di­re­ta­mente em uma data. O código cor­res­pon­dente é este:

import time
elapsed_time = 1716816325
current_time = time.ctime(elapsed_time)
print("This is the current time: ", current_time)
python

Nossa saída será:

This is the current time: Mon May 27 2024 15:25:25
python
Dica

A solução ideal para trabalhar com projetos web: com Deploy Now da IONOS, você faz a im­plan­ta­ção de al­te­ra­ções no código di­re­ta­mente pelo GitHub e se beneficia de atu­a­li­za­ções em tempo real. Encontre agora o plano adequado para as suas ne­ces­si­da­des!

Planejar execução de programa com Python time.sleep()

Python time pode fazer muito mais do que apenas mostrar o tempo atual. O módulo também é usado para controlar ou atrasar a execução de um programa. A função apro­pri­ada é time.sleep() e é escrita assim:

import time
print("This text is displayed immediately… ")
time.sleep(5)
print("…and this one is displayed 5 seconds later.")
python

Nossa saída será:

This text is displayed immediately…
…and this one is displayed 5 seconds later.
python

A segunda parte será exibida apenas após um atraso de cinco segundos. Para saber mais sobre o que você pode fazer com Python time.sleep(), consulte o guia detalhado do Digital Guide.

Objetos struct_time e Python time

Para muitas funções do Python time, o objeto struct_time é a base. Ele é fre­quen­te­mente usado como parâmetro ou valor de retorno e fornece uma tupla cujos valores podem ser acessados por índice ou atributo. Os seguintes atributos estão dis­po­ní­veis:

Índice Atributo Descrição Valores possíveis
0 tm_year Ano 0000, …, 2024, …, 9999
1 tm_mon Mês 1, 2, 3, …, 12
2 tm_mday Dia do mês 1, 2, 3, 31
3 tm_hour Hora 0, 1, 2, …, 23
4 tm_min Minuto 0, 1, 2, …, 59
5 tm_sec Segundos 0, 1, 2, …, 60, 61
6 tm_wday Dia da semana 0 (segunda-feira), …, 6 (domingo)
7 tm_yday Dia do ano 1, 2, 3, …, 366
8 tm_isdst Horário de verão 0 (inverno), 1 (verão) ou -1 (não es­pe­ci­fi­cado)

Conectar struct_time e tempo Epoch com Python time.localtime()

A função time.localtime() utiliza um objeto struct_time com base no timestamp Unix. Isso é feito no código da seguinte forma:

import time
timestamp = time.time()
current_time = time.localtime(timestamp)
print(current_time)
python

Obtivemos a seguinte saída:

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

Também é possível usar um valor ar­bi­trá­rio para o parâmetro localtime(). O código ficaria assim:

import time
timestamp = time.time()
current_time = time.localtime(1716816325)
print(current_time)
python

A saída será novamente:

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

Função oposta a localtime(): Python time.mktime()

A função time.mktime() é oposta à localtime() no Python. Você usa um objeto struct_time como parâmetro e o sistema retorna o carimbo de data e hora cor­res­pon­dente para o tempo Epoch. O código é:

import time
timestamp = time.mktime(local_time)
print(timestamp)
python

Como saída, você obterá um valor em segundos no formato:

1716816325
python

Tempo universal co­or­de­nado para exibição: Python time.gmtime()

A função time.gmtime() é se­me­lhante à time.localtime() em muitos aspectos. No entanto, o objeto struct_time retornado aqui está em Tempo Universal Co­or­de­nado (UTC). O código é:

import time
time_stamp = time.time()
utc_time = time.gmtime(time_stamp)
print(utc_time)
python

A saída será diferente em alguns detalhes em relação ao exemplo acima:

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

Converter objetos struct_time em strings com Python time.asctime()

Você pode usar time.asctime() para converter um objeto struct_time em uma Python string. Um exemplo seria:

import time
point_in_time = time.localtime()
readable_format = time.asctime(point_in_time)
print(readable_format)
python

A saída será:

Mon May 27 15:25:25 2024
python

Criar strings com Python time.strftime()

Muitas variações são possíveis com time.strftime(). Você pode usar formas para exibir o tempo atual no formato desejado. Aqui estão alguns dos códigos de formato mais im­por­tan­tes:

  • %Y: ano no formato 0001, …, 2024, …, 9999
  • %m: mês usando números de 01 (janeiro) a 12 (dezembro)
  • %d: dia do mês de 01 a 31
  • %H: hora no intervalo de 00 a 23
  • %M: minuto no intervalo de 00 a 59
  • %S: segundo no intervalo de 00 a 61

No código, isso poderia ser feito assim:

import time
point_in_time = time.localtime()
readable_format = time.strftime("%d-%m-%Y, %H:%M:%S", point_in_time)
print(readable_format)
python

Neste caso, a saída seria:

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

Converter strings em objetos struct_time com Python time.strptime()

Para isso, o Python time tem uma função cor­res­pon­dente: time.strptime(). Ela usa uma string para gerar um objeto struct_time. O código é:

import time
point_in_time = time.strptime(readable_format, "%d-%m-%Y, %H:%M:%S"x)
print(point_in_time)
python

A saída será:

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
Dica

No nosso Digital Guide, você encontra muitos outros artigos sobre a popular linguagem de pro­gra­ma­ção Python. Temos um tutorial Python para ini­ci­an­tes, um guia de ins­ta­la­ção do Python e um artigo es­pe­cí­fico sobre ope­ra­do­res Python.

Ir para o menu principal