Calculando a diferença entre duas datas com Python

Neste post mostro como calcular a diferença entre duas datas (datetime) utilizando Python. Utilizo este método para calcular quanto tempo um serviço está sendo executado.

O formato da string com o resultado é nn days, hh:mm:ss.ms

O primeiro passo é importar os pacotes que vamos precisar:

from datetime import datetime

 

Agora vamos definir as datas que vamos utilizar na operação:

#Initial (oldest) date.
date_init = datetime.strptime("5-8-2000 13:45:10.345", '%d-%m-%Y %H:%M:%S.%f')

#Final (newest) date.
date_final = datetime(year=2018, month=1, day=30)

No fonte acima, criei as duas datas: inicial (date_init) e final (date_final). Para fins didáticos, criei as duas de formas diferentes.

A data inicial (date_init) foi criada utilizando a função strptime, que converte string para datetime, de acordo com o formato que você indicou no segundo argumento. Neste caso, informei uma data com dia, mes, ano (4 caracteres), horas, minutos, segundos e milisegundos.
Já para data final (date_final), criei um objeto datetime passando apenas o ano, mes e dia como argumento. Isso implica em dizer que esta variável não possuirá valores relativos a tempo (h:m:s.f).

O próximo passo é calcular a diferença entre as duas datas:

#Datetime with delta between the two other dates.
date_diff = date_final - date_init

 

Difícil, né? Então, agora basta converter para string e o valor sairá configurado.

#Printing a in a friendly way.
print("Uptime: %s" % str(date_diff))

Resultado:

>>> Uptime: 6386 days, 10:14:49.655000

 

Se quiser, este fonte está disponível no nosso Github!

Espero ter ajudado!

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Dev, Python and tagged , , , , , , , , .

One Comment

  1. Pingback: Convertendo strings em datetime com Python – Raccoon Ninja

Comments are closed.