Fala, programador e programadora de plantão! Manipular datas e horários em Python é uma habilidade essencial para quem trabalha com registros de logs, geração de relatórios, controle de prazos e muitas outras situações comuns no dia a dia de desenvolvimento. E para facilitar essa tarefa, o Python já traz o módulo datetime
, que é completo e super flexível. Hoje vou te mostrar como usar o datetime
de forma prática, explicando desde como obter a data atual até a conversão entre strings e datas, formatação personalizada e até como lidar com fusos horários. Bora dominar esse assunto de uma vez por todas?
Se você está começando agora ou quer testar os exemplos deste artigo sem precisar instalar nada no seu computador, você pode manipular datas e horários em Python diretamente em plataformas online. Eu recomendo dar uma olhada no artigo 4 Maneiras Fáceis de Rodar Python Online Sem Instalar Nada, onde eu mostro opções práticas para você abrir um ambiente Python direto do navegador e já praticar todos os scripts que estamos vendo aqui. Assim, você aprende na prática e já sobe um nível no seu domínio de datas no Python!
Manipular Datas e Horários em Python é Essencial para Todo Programador
Manipular datas e horários em Python é uma habilidade essencial para quem trabalha com registros de logs, geração de relatórios, controle de prazos e muitas outras situações comuns no dia a dia de desenvolvimento. E para facilitar essa tarefa, o Python já traz o módulo datetime
, que é completo e super flexível. Hoje vou te mostrar como usar o datetime
de forma prática, explicando desde como obter a data atual até a conversão entre strings e datas, formatação personalizada e até como lidar com fusos horários. Bora dominar esse assunto de uma vez por todas?
Como obter a data e hora atuais no Python
O primeiro passo para manipular datas e horários em Python é dominar o módulo datetime
e saber pegar a data e hora atuais. Isso é essencial para registrar eventos, timestamps ou controlar processos.
from datetime import datetime
agora = datetime.now()
print(f'Data e hora atuais: {agora}')
Esse now()
retorna um objeto datetime
completo, com ano, mês, dia, hora, minuto, segundo e microssegundo. Se quiser só a data, você pode fazer:
pythonCopiarEditarhoje = datetime.now().date()
print(f'Data atual: {hoje}')
Criando datas e horários específicos
Nem sempre você quer o “agora”, certo? Às vezes você precisa montar uma data específica, como o início de um contrato ou uma data de vencimento. Isso é fácil com o datetime
.
from datetime import datetime
data_especifica = datetime(2025, 3, 5, 14, 30)
print(f'Data específica: {data_especifica}')
Aqui criamos 5 de março de 2025 às 14:30. Se quiser só uma data (sem hora), é só usar date()
:
from datetime import date
data_simples = date(2025, 3, 5)
print(f'Só a data: {data_simples}')
Formatando datas para strings
Recebeu aquela requisição dizendo “preciso que a data saia bonitinha no formato brasileiro”? Sem crise! datetime
tem o strftime()
para personalizar do seu jeito
formato = agora.strftime('%d/%m/%Y %H:%M:%S')
print(f'Formatado: {formato}')
Esse strftime
é o canivete suíço do formatação. Alguns exemplos de códigos úteis:
%d
: dia do mês%m
: mês%Y
: ano com 4 dígitos%H
: hora%M
: minuto%S
: segundo
Convertendo strings para datas (parse)
Mais uma dica para manipular datas e horários em Python é a seguinte: Se você recebe datas como texto (quem nunca pegou um CSV zoado?), precisa converter essas strings para objetos datetime
para conseguir manipular. O método strptime()
é seu amigo:
data_str = '05/03/2025 14:30'
data_obj = datetime.strptime(data_str, '%d/%m/%Y %H:%M')
print(f'Convertido: {data_obj}')
Esse formato tem que casar 100% com a string que você recebeu, ou o Python vai te devolver um belo erro.

Curso Intensivo de Python: uma Introdução Prática e Baseada em Projetos à Programação
Quer aprender Python de forma prática e eficiente? Com este guia best-seller, você dominará a programação criando jogos, visualizações de dados e aplicações web. Explore ferramentas como Django, Plotly e Pygame, teste seu código e programe com confiança.
👉 Garanta o seu aqui!
Calculando diferenças entre datas
Aqui vem a parte prática de verdade. Quanto tempo falta até uma entrega? Quantos dias tem entre duas datas? O datetime
faz isso fácil com operações de subtração.
from datetime import date
inicio = date(2025, 3, 1)
fim = date(2025, 3, 5)
diferenca = fim - inicio
print(f'Diferença em dias: {diferenca.days}')
Isso te retorna diretamente o número de dias entre as datas.
Se quiser calcular prazos com horas e minutos, a conta também funciona:
from datetime import datetime, timedelta
agora = datetime.now()
prazo = agora + timedelta(days=7, hours=5)
print(f'Prazo final: {prazo}')
Trabalhando com fusos horários (timezones)
Se seu sistema precisa lidar com múltiplos fusos (alô, galera que faz sistemas globais!), é importante ajustar as datas para UTC ou o fuso correto. Para isso, o módulo pytz
é muito usado.
import pytz
from datetime import datetime
utc = pytz.utc
agora_utc = datetime.now(utc)
print(f'Agora em UTC: {agora_utc}')
fuso_sp = pytz.timezone('America/Sao_Paulo')
agora_sp = agora_utc.astimezone(fuso_sp)
print(f'Agora em São Paulo: {agora_sp}')
Com isso você garante que suas datas e horários são consistentes, evitando bugs cabeludos em registros, principalmente em sistemas distribuídos.
Por que dominar datas e horários em Python é tão importante?
A manipulação de datas e horários é uma das tarefas mais comuns no dia a dia de quem programa, seja para validar prazos, gerar logs, criar relatórios, ou até mesmo para realizar análises de tendências ao longo do tempo. Quem já tentou comparar strings de datas sabe que isso é cilada. Por isso, saber manipular datas e horários em Python, utilizando o módulo datetime, é muito mais seguro e eficiente.
Se você chegou até aqui, parabéns! Agora você já sabe:
- Pegar a data e hora atuais
- Criar datas específicas
- Formatar datas como quiser
- Converter strings para datas e vice-versa
- Calcular diferenças entre datas
- Lidar com fusos horários
Quer subir de nível? Tente criar um script que analise um log de sistema e descubra o tempo médio de resposta de requisições. Ou que tal uma função que calcula a idade de uma pessoa a partir da data de nascimento? Assim você já pratica como manipular datas e horários em Python de uma forma útil e aplicada no mundo real.
E aí, bora continuar explorando Python? Confira os links abaixo com mais conteúdos avançados sobre manipulação de dados e deixe seu comentário com suas dúvidas ou sugestões. Até a próxima, jovem Padawan!