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
Latest posts by Breno RdV (see all)
- Estamos de mudança! - abril 28, 2024
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022