Como obter a data e hora atuais em Python

Aprenda como obter a data e hora atuais em Python usando o módulo datetime. Formate datas em strings com strftime e administre fusos horários.

Experimente esta solução no Editor

Visão geral

Lidar com datas e horas é um requisito padrão no desenvolvimento web, manutenção de registros de banco de dados, rastreamento analítico e agendamento automatizado de trabalhos. Python fornece ferramentas robustas e integradas para lidar com operações temporais por meio do módulo `datetime`.

Para obter a data e hora atuais, a abordagem padrão é chamar `datetime.datetime.now()`. Se você precisar apenas da data do calendário (excluindo horas, minutos e segundos), poderá usar `datetime.date.today()`. Eles retornam objetos de data/data e hora que expõem campos individuais como ano, mês, dia e hora como números inteiros.

Para exibir datas aos usuários ou salvá-las em formatos de banco de dados personalizados, você deve formatar esses objetos em strings. O método `.strftime()` (formato de string hora) permite converter objetos de data em representações de string usando códigos de formato como `%Y` para ano, `%m` para mês e `%d` para dia.

Saída de código e execução

Este script demonstra como trabalhar com objetos de data e hora, extrair componentes e formatar a saída.

from datetime import datetime

# 1. Representing date and time using datetime
fixed_time = datetime(2026, 5, 25, 15, 45, 30)
print("Date Object:", fixed_time.date())

# 2. Extracting components
print("Year:", fixed_time.year)
print("Month:", fixed_time.month)
print("Day:", fixed_time.day)

# 3. Format date to string using strftime
formatted = fixed_time.strftime("%A, %B %d, %Y")
print("Formatted Date:", formatted)
Saída terminal
Date Object: 2026-05-25
Year: 2026
Month: 5
Day: 25
Formatted Date: Monday, May 25, 2026

Implementação passo a passo

  • Importe data e hora do módulo datetime.
  • Chame datetime.now() para obter um objeto datetime que representa a hora local atual.
  • Use o método .strftime() com códigos de formato como %Y-%m-%d para serializar a data em uma string legível.

Perguntas frequentes

Como obtenho a data atual no horário UTC?

Você pode importar o módulo de fuso horário e usar datetime.now(timezone.utc) ou datetime.utcnow() (obsoleto emPython 3.12).

O que significam códigos de formato strftime como %Y, %m e %d?

%Y é o ano com 4 dígitos, %m é o mês com 2 dígitos (01-12) e %d é o dia do mês com 2 dígitos (01-31).

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.