As vezes(ou quase sempre) preciso trabalhar com datas nos meus scripts, seja para nomear um arquivo, fazer algum cálculo entre duas datas ou fazer um loop de datas(veja o bônus no final deste artigo) e para tal utilizamos o datetime!
importando a biblioteca
import datetime
imprimindo a data de agora
print(datetime.datetime.now())
imprimindo a data de agora formatada DD/MM/YYYY HH24:MI:SS
print(datetime.datetime.now().strftime('%d/%m/%Y %H:%M%S'))
imprimindo a diferença entre duas datas
import time
antes = datetime.datetime.now()
time.sleep(60) #utilize essa biblioteca para pausar o processo por n segundos
depois = datetime.datetime.now()
resultado = depois - antes
resultado = resultado.total_seconds() #devolve um inteiro que pode ser transformado para minuto(s), hora(s) e etc.
print(seconds)
output:60
Muitas vezes precisei fazer um loop de data, geralmente para fazer uma consulta sql num certo mês e depois salvar num arquivo, cheguei na função abaixo, espero que te ajude no dia a dia
import datetime
def f_periodo(fmt,dias):
base = datetime.datetime.today()
date_list = [base - datetime.timedelta(days=x) for x in range(0, dias)]
l = []
for i in date_list:
if i.strftime(fmt) not in l:
l.append(i.strftime(fmt))
return l
Para usar!
for data in f_periodo('%Y%-m',60):
print(data)
output:202206
output:202205
output:202204
Agora você já pode automatizar seus scripts para buscar dados somente dos últimos 90 dias por exemplo.