Calculando uma data no futuro ou passado

Python:
Calculando uma data no futuro ou passado

Como Fazer:

from datetime import datetime, timedelta

# Data atual
hoje = datetime.now()

# Calculando uma data no futuro (+10 dias)
futuro = hoje + timedelta(days=10)
print(f"Futuro: {futuro.strftime('%d/%m/%Y')}")

# Calculando uma data no passado (-30 dias)
passado = hoje - timedelta(days=30)
print(f"Passado: {passado.strftime('%d/%m/%Y')}")

Saída:

Futuro: DD/MM/AAAA
Passado: DD/MM/AAAA

Troque DD/MM/AAAA pelas datas correspondentes.

Mergulho Profundo

Historicamente, a manipulação de datas tem sido um desafio em programação devido a variações de calendário, fusos horários e regras de horário de verão. No Python, o módulo datetime é uma abstração que simplifica essas operações.

Alternativas incluem usar o dateutil.relativedelta para necessidades mais complexas, como acrescentar meses ou anos, considerando as diferenças em número de dias por mês:

from datetime import datetime
from dateutil.relativedelta import relativedelta

# Adicionando 1 mês à data atual
um_mes_a_frente = datetime.now() + relativedelta(months=1)

As implementações para cálculo de datas no futuro ou passado devem sempre levar em conta exceções, como anos bissextos ou diferenças culturais em relação à definição da primeira semana do ano e o primeiro dia da semana.

Veja Também