Trabalhando com Datas e Horários em Python

Aprenda a manipular datas e horários com Python. Descubra como calcular idade, dias de vida e datas futuras com datetime e timedelta

Compartilhe

Como Trabalhar com Datas em Python — Idade, Diferença e Formatação

Hoje vamos explorar como o Python lida com tempo real — dias, meses, horas, minutos e segundos — com o módulo datetime.

Você vai aprender a pegar a data atual, formatar, comparar, somar e subtrair períodos e até gerar relatórios com base em tempo.


🎯 O que você vai aprender

  • Usar o módulo datetime
  • Obter a data e hora atual
  • Formatar datas para exibição
  • Fazer cálculos com datas
  • Criar um sistema que mostra há quanto tempo o usuário nasceu

🕓 Pegando data e hora atual:

from datetime import datetime

agora = datetime.now()
print(agora)

📅 Formatando datas:

print(agora.strftime("%d/%m/%Y"))  # 22/04/2025
print(agora.strftime("%H:%M:%S"))  # 14:58:00

Alguns códigos úteis para formatação:

CódigoSignificado
%dDia (2 dígitos)
%mMês (2 dígitos)
%YAno (4 dígitos)
%HHora
%MMinuto
%SSegundo

➕ Fazendo cálculos com datas

from datetime import timedelta

ontem = agora - timedelta(days=1)
print("Ontem foi:", ontem.strftime("%d/%m/%Y"))

📌 Desafio do Dia: Calculadora de Idade com Detalhes

O usuário digita sua data de nascimento e o sistema:

  1. Calcula a idade atual
  2. Mostra há quantos dias ele está vivo
  3. Mostra a data em que completará o próximo aniversário

💻 Código sugerido:

from datetime import datetime, timedelta

data_str = input("Digite sua data de nascimento (DD/MM/AAAA): ")

try:
    nascimento = datetime.strptime(data_str, "%d/%m/%Y")
    hoje = datetime.now()
    
    idade = hoje.year - nascimento.year
    if (hoje.month, hoje.day) < (nascimento.month, nascimento.day):
        idade -= 1

    dias_vivo = (hoje - nascimento).days

    proximo_aniversario = datetime(hoje.year, nascimento.month, nascimento.day)
    if proximo_aniversario < hoje:
        proximo_aniversario = datetime(hoje.year + 1, nascimento.month, nascimento.day)

    print(f"\nVocê tem {idade} anos.")
    print(f"Está vivo há aproximadamente {dias_vivo} dias.")
    print(f"Seu próximo aniversário será em {proximo_aniversario.strftime('%d/%m/%Y')}.")

except ValueError:
    print("⚠️ Formato de data inválido. Use DD/MM/AAAA.")

🧠 O que você aplicou hoje?

  • Obtenção e manipulação de datas
  • Conversão de string para data (strptime)
  • Cálculo de diferença entre datas
  • Formatação personalizada para exibição

💬 E na prática?

Saber lidar com datas é útil pra:

  • Agendamentos
  • Filtros de relatórios
  • Vencimento de faturas
  • Logs e monitoramento
  • IA que depende de data/hora como input

🎯 Quer dominar Python com IA, projetos e automações?

Na mentoria, você aprende com projetos reais: ✅ Processamento de tempo
✅ Integração com APIs
✅ Aplicações completas

📲 Saiba mais: asllanmaciel.com.br/mentoria

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.