Python time é o módulo que permite exibir dados de data e hora. Ele oferece diferentes funções, e usa a representação de tempo Unix e objetos struct_time.

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

“Para trabalhar com informações de tempo nessa linguagem de programação, o módulo Python time é fundamental. Entre as tarefas que este módulo pode realizar estão a exibição do tempo atual, a formatação de dados de tempo e a especificação de uma determinada 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 importantes são apresentadas nas seções seguintes. Se você está procurando uma alternativa 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 coordenado). 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 decorridos 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 informação pode não ser muito útil normalmente, o Python time oferece a possibilidade 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 compreensível. A função apropriada é time.ctime(). Ela converte o carimbo de data e hora diretamente em uma data. O código correspondente é 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 implantação de alterações no código diretamente pelo GitHub e se beneficia de atualizações em tempo real. Encontre agora o plano adequado para as suas necessidades!

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 apropriada é 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 é frequentemente 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 disponí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 especificado)

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 arbitrá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 correspondente 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 coordenado para exibição: Python time.gmtime()

A função time.gmtime() é semelhante à time.localtime() em muitos aspectos. No entanto, o objeto struct_time retornado aqui está em Tempo Universal Coordenado (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 importantes:

  • %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 correspondente: 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 programação Python. Temos um tutorial Python para iniciantes, um guia de instalação do Python e um artigo específico sobre operadores Python.

Este artigo foi útil?
Ir para o menu principal