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.