Calculando novas datas a partir de uma data base com Python

Calculando novas datas a partir de uma data base com Python

Overview

Bem-vindos a mais um guia prático onde desvendamos os mistérios da programação com Python! Hoje, vamos mergulhar no mundo das datas, explorando como lidar com elas de maneira eficiente e inteligente. Se você sempre teve curiosidade sobre como gerar datas futuras, considerando todos os peculiares diferentais do calendário, você veio ao lugar certo. Prepare-se para transformar esse desafio em uma tarefa fácil e descomplicada!

Você tem uma mensalidade que vence no dia 05 e quer gerar as datas para ela durante os próximos 12 meses. Neste caso, você precisa se preocupar com quantos dias tem um mês (28, 30, 31) e considerar isso nos seus calculos, certo?

Claro, mas o Python resolve isso para você.

Para este post, você vai precisar do pacote python-dateutil. Se precisar instalar este pacote, utilize o PIP com o comando abaixo:

pip install python-dateutil

Tanto no Linux quanto no Windows, você (certamente) precisará de privilégios de administrador/root para executar este comando. No Linux, se estiver utilizando Python 3, altere o comando de pip pra pip3. (Não tem pip3 instalado? utilize o comando apt-get install pip3 para baixá-lo!)

No seu arquivo .py, faça as seguintes importações:

from datetime import datetime
from dateutil.parser import parse

Primeiro, vamos definir uma data base, ou seja, a partir dela vamos adicionar 1 mes.

#Base date
base_date = datetime(2018,1,31,10,11,12)

Nossa data base será 31/01/2018. Agora vamos acrescentar 1 mes a esta data:

#Add 1 month
new_date = base_date + relativedelta(months=+1)

Este comando fará com que a variável new_date possua o valor 28/02/2018.

Pronto! Está feito. Você também pode adicionar dias (exemplo: data daqui a 73 dias), utilizando o argumento days=n, onde n é o número de dias.

Se quiser, o fonte deste post está no Github!

Espero ter ajudado.