0Pricing
Python Academy · Aula

Formatação e análise

Use strftime e strptime

Formatação e análise é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

Por que formatar e analisar?

Os computadores armazenam datas como objetos, mas as pessoas as leem como texto. A formatação transforma uma data e hora em uma cadeia de caracteres, e a análise transforma uma cadeia de caracteres novamente em uma data e hora.

  • strftime = cadeia de caracteres FROM hora (formatação).
  • strptime = cadeia de caracteres PARSE hora (análise).
from datetime import datetime
now = datetime(2026, 5, 30, 14, 5)
print(now)

Seu primeiro strftime

Chame .strftime(format) em uma data e hora. Os códigos de formato começam com %: %Y é o ano com 4 dígitos, %m é o mês e %d é o dia.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%Y-%m-%d'))

Formatando a parte da hora

Códigos de hora: %H é a hora (00-23), %M é o minuto e %S é o segundo. Combine-os com texto literal como preferir.

from datetime import datetime
d = datetime(2026, 5, 30, 9, 7, 3)
print(d.strftime('%H:%M:%S'))

Nomes fáceis de entender

Alguns códigos produzem nomes: %A é o dia da semana por extenso, %B é o nome do mês por extenso e %b é o mês abreviado.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%A, %B %d, %Y'))

Relógios de 12 horas e AM/PM

Use %I para a hora no formato de 12 horas e %p para AM ou PM. Isso é comum em exibições voltadas ao usuário.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 30)
print(d.strftime('%I:%M %p'))

Analisando com strptime

datetime.strptime(text, format) lê uma cadeia de caracteres e a transforma em uma data e hora. O formato deve corresponder exatamente ao texto, código por código.

from datetime import datetime
text = '2026-05-30'
d = datetime.strptime(text, '%Y-%m-%d')
print(d)
print(type(d))

Analisando data e hora juntas

Inclua códigos de hora no formato para analisar um carimbo de data e hora completo. Cada separador (hífens, espaços e dois-pontos) presente no texto também deve aparecer no padrão.

from datetime import datetime
text = '30/05/2026 14:05'
d = datetime.strptime(text, '%d/%m/%Y %H:%M')
print(d.year, d.hour, d.minute)

Ida e volta: analisar e depois formatar

Um fluxo de trabalho comum é analisar o texto recebido, executar alguma lógica e depois reformatá-lo para a saída — até mesmo em um formato diferente.

from datetime import datetime
raw = '2026-05-30'
d = datetime.strptime(raw, '%Y-%m-%d')
pretty = d.strftime('%B %d, %Y')
print(pretty)

Atalho do formato ISO

.isoformat() produz a cadeia de caracteres ISO 8601 padrão, e datetime.fromisoformat() a lê novamente sem precisar de códigos de formato.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 5)
s = d.isoformat()
print(s)
back = datetime.fromisoformat(s)
print(back == d)

Lidando com erros de análise

Se o texto não corresponder ao formato, strptime gera um ValueError. Coloque-o em um bloco try/except quando a entrada puder estar malformada.

from datetime import datetime
try:
    datetime.strptime('not-a-date', '%Y-%m-%d')
except ValueError as e:
    print('Could not parse:', e)

Dia do ano e mais

Códigos adicionais: %j é o dia do ano (001-366) e %w é o dia da semana representado por um número (0=domingo). Eles são úteis para relatórios.

from datetime import datetime
d = datetime(2026, 5, 30)
print('Day of year:', d.strftime('%j'))

Verificação rápida

Você tem a cadeia de caracteres '2026-05-30'. Qual chamada a converte em um objeto datetime?

Recapitulação: formatação e análise

Lembre-se:

  • strftime(fmt) transforma uma data e hora em uma cadeia de caracteres.
  • strptime(text, fmt) transforma uma cadeia de caracteres em uma data e hora.
  • Códigos comuns: %Y %m %d para datas, %H %M %S para horários, %A %B para nomes.
  • isoformat() e fromisoformat() lidam automaticamente com o padrão ISO.
from datetime import datetime
d = datetime.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
print(d.strftime('%A at %I:%M %p'))

Perguntas Frequentes

A aula “Formatação e análise” é grátis?

Sim — o texto completo de “Formatação e análise” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Formatação e análise”?

Use strftime e strptime Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Formatação e análise”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. date, time, datetime
  2. Timedelta e operações aritméticas
  3. Formatação e análise
  4. Fusos horários com zoneinfo
← Voltar para Python Academy