Calcule a diferença de tempo entre duas strings de tempo em Python

Lakshay Kapoor 10 outubro 2023
  1. Use datetime.strptime() para calcular a diferença de tempo entre duas cadeias de tempo em Python
  2. Use time.sleep() para calcular a diferença de tempo entre duas cadeias de tempo em Python
  3. Use datetime.timedelta() para calcular a diferença de tempo entre duas cadeias de tempo em Python
Calcule a diferença de tempo entre duas strings de tempo em Python

Há momentos em que temos que lidar com problemas relacionados à data e hora na programação. Em Python, data e time não são tipos de dados em si. Ainda assim, o Python fornece uma vasta gama de funções, bem como bibliotecas que ajudam a lidar com esses problemas. Um dos problemas relacionados à data e hora é calcular o intervalo de tempo entre strings de duas vezes.

Este tutorial demonstra diferentes maneiras de calcular o intervalo de tempo entre duas strings em Python.

Use datetime.strptime() para calcular a diferença de tempo entre duas cadeias de tempo em Python

A classe datatime fornece ao usuário uma série de funções para lidar com datas e horas em Python. A função strptime() é usada para analisar um valor de string para representar o tempo com base em um determinado formato. O valor da string e o formato da hora são armazenados como o argumento da função.

Aqui está um programa de exemplo:

time_1 = datetime.strptime("05:00:00", "%H:%M:%S")
time_2 = datetime.strptime("10:00:00", "%H:%M:%S")

time_interval = time_2 - time_1
print(time_difference)

Resultado:

5:00:00

Aqui, duas strings de tempo são armazenadas em duas variáveis ​​usando a função datetime.strptime(). Observe que %H, %M e %S são os representantes de Hours, Minutes e Seconds. Depois que as duas strings de tempo são armazenadas com seu formato de hora, o intervalo de tempo entre os dois é calculado simplesmente subtraindo as duas variáveis.

Use time.sleep() para calcular a diferença de tempo entre duas cadeias de tempo em Python

Existe um módulo conhecido como módulo time em Python, que ajuda a imprimir o tempo na forma de objetos, números e strings. Ele também oferece muitas funções para realizar tarefas como medir o tempo e medir a eficiência do código.

Uma das funções no módulo time do Python é a função sleep(). Esta função suspende a execução do bloco de código presente por um certo período de tempo mencionado apenas pelo usuário.

Veja este código de exemplo:

import time

time_1 = time.time()

time.sleep(20)

time_2 = time.time()
time_interval = time_2 - time_1
print(time_interval)

Resultado:

20.005916118621826

Observe que no código acima, a função time() do módulo time também é usada. Esta função ajuda a retornar o número de segundos passados ​​desde a época, 1º de janeiro de 1970, 00:00:00 no UTC. A variável 20 no argumento da função sleep() representa 20 segundos. Nesse código, os dois valores de tempo são obtidos desde a época e, entre eles, a execução do código é interrompida por 20 segundos.

Use datetime.timedelta() para calcular a diferença de tempo entre duas cadeias de tempo em Python

Existe mais um módulo Python conhecido como módulo datetime. Este módulo também fornece muitas classes e funções para lidar com datas, horas e intervalos de tempo.

A classe timedelta() é uma das funções do módulo datetime. É usado para representar uma duração de tempo específica ou a diferença entre duas datas e horas. As funções contêm muitos argumentos como dias, milissegundos, microssegundos, segundos, minutos, horas e também semanas.

O usuário pode citar esses argumentos de acordo com a necessidade do programa. Confira um programa de exemplo aqui:

import datetime

time_1 = datetime.timedelta(hours=10, minutes=20, seconds=30)
time_2 = datetime.timedelta(hours=20, minutes=30, seconds=45)
print(time_2 - time_1)

Observe que no código acima, nem todos os argumentos são mencionados na classe timedelta.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Artigo relacionado - Python DateTime