Python | datetime

Trabalhando com datetime do python

Publicado em: 20/06/2022

em caso de dúvidas, envie email para alfredojrgasper@gmail.com

Necessidade

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!

Exemplos

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

Bônus

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.

Referência

Documentação oficial