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

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

Overview

Olá, entusiastas de Python! Neste post, exploraremos um aspecto fascinante da programação com datas e horas: como adicionar facilmente minutos, horas ou dias a uma data, utilizando apenas recursos nativos do Python. Sem a necessidade de baixar pacotes terceiros, você aprenderá a manipular objetos datetime de forma eficiente e prática. Vamos juntos descobrir como simplificar a manipulação de datas no nosso dia a dia de codificação. Venha comigo nessa jornada pelo tempo!

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