Adicionando minutos a uma data. (#python #datetime #dev)

Aqui no site existem diversos posts sobre como manipular objetos datetime em Python. Eu quis incluir este post, para poder tratar especificamente sobre como adicionar minutos (ou segundos, horas, etc..) a uma data, sem precisar instalar pacotes terceiros.

Considere o código abaixo como base:

import datetime

now = datetime.datetime.now()

 

Nele estou salvando a data/hora atual na variável now.

Agora vamos adicionar 30 minutos a esta data.

import datetime

now = datetime.datetime.now()
future = now + datetime.timedelta(minutes=30)

Pronto. Agora voce tem uma variável chamada future, que tem o horario atual + 30 minutos.

O método timedelta aceita também (nome do argumento entre parenteses):

  • Semanas (weeks)
  • Dias (days)
  • Horas (hours)
  • Minutos (minutes)
  • Segundos (seconds)
  • Microsegundos (microseconds)
  • Milisegundos (milliseconds)

 

O funcionamento dele é bem simples. Ele retorna um objeto que possui a referencia para o diferencial de tempo (time delta) que você precisa. Ao somar esse diferencial a uma data, voce obtém um novo objeto com a data ajustada (com o valor do diferencial).

 

Outro uso para o timedelta é conseguir a diferença entre duas datas.

import datetime

now = datetime.datetime.now()
future = now + datetime.timedelta(minutes=30)

diff = (future - now).seconds

No código acima, subtraí o valor de now do que está definido na variável future. O resultado disso é um objeto deltatime. Sendo assim, para saber a diferença em segundos entre future e now, podemos usar a propriedade seconds.

 

É uma ferramenta bastante util e o melhor: é nativa. Não gera dependências com outros pacotes.

 

Espero ter ajudado!

 

 

Referência: https://docs.python.org/3/library/datetime.html#timedelta-objects

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 , , , .