Home > Blog > Python
Python

Python Datetime: Guia Completo para Datas e Horas

4 de janeiro de 2025 | por Universo Python

mulher segurando um calendário em um fundo branco

Introdução ao Python Datetime

O módulo datetime do Python é uma ferramenta essencial para quem trabalha com programação envolvendo datas e horários. Ele permite criar, manipular e formatar informações temporais com facilidade, sendo amplamente utilizado em aplicativos, análise de dados e automação de tarefas.

O datetime oferece uma maneira poderosa de lidar com operações complexas de tempo, como calcular diferenças entre datas, lidar com fusos horários e exibir horários em formatos personalizados. Antes de explorar seus recursos, é importante entender as classes principais que compõem esse módulo.

Principais Classes do Módulo Datetime

O módulo datetime contém várias classes, mas as mais utilizadas incluem:

datetime.date

Esta classe representa uma data (ano, mês e dia) sem informações de hora. Ela é útil para armazenar e manipular apenas informações de calendário.

Exemplo de uso:

Python
from datetime import date

hoje = date.today()
print(hoje)  # Saída: 2024-12-30 (ou data atual)

datetime.time

Se você precisa lidar apenas com horários (sem datas), esta é a classe ideal. Ela permite representar horas, minutos, segundos e microssegundos.

Exemplo de uso:

Python
from datetime import time

horario = time(14, 30, 45)
print(horario)  # Saída: 14:30:45

datetime.datetime

Esta é a classe mais abrangente, combinando informações de data e hora em um único objeto.

Exemplo de uso:

Python
from datetime import datetime

agora = datetime.now()
print(agora)  # Saída: 2024-12-30 14:30:45.123456 (ou data e hora atuais)

datetime.timedelta

Para realizar cálculos com datas, como adicionar ou subtrair dias, a classe timedelta é essencial.

Exemplo de uso:

Python
from datetime import datetime, timedelta

hoje = datetime.now()
amanha = hoje + timedelta(days=1)
print(amanha)  # Saída: Data de amanhã

Como Criar Objetos de Data e Hora

O Python facilita a criação de objetos de data e hora personalizados usando as classes do módulo datetime. Vamos explorar as principais maneiras de criar esses objetos para diferentes necessidades.

Criando Objetos date

A classe date permite criar datas específicas fornecendo ano, mês e dia como argumentos.

Exemplo:

Python
from datetime import date

data_especifica = date(2024, 12, 25)
print(data_especifica)  # Saída: 2024-12-25

Também é possível capturar a data atual diretamente:

Python
data_atual = date.today()
print(data_atual)  # Saída: Data de hoje

Criando Objetos time

Para horários específicos, a classe time permite criar objetos definindo hora, minuto, segundo e microssegundo (opcional).

Exemplo:

Python
from datetime import time

horario_especifico = time(9, 45, 30)
print(horario_especifico)  # Saída: 09:45:30

Criando Objetos datetime

A classe datetime combina datas e horários, permitindo criar objetos completos. É possível definir ano, mês, dia, hora, minuto, segundo e microssegundo.

Exemplo:

Python
from datetime import datetime

data_hora_especifica = datetime(2024, 12, 25, 18, 30)
print(data_hora_especifica)  # Saída: 2024-12-25 18:30:00

Se você precisa da data e hora atuais, pode usar o método now():

Python
data_hora_atual = datetime.now()
print(data_hora_atual)  # Saída: Data e hora atuais

Utilizando strptime para Criar Datas e Horas a Partir de Strings

Quando você tem datas e horas em formato de string, pode convertê-las em objetos datetime usando o método strptime.

Exemplo:

Python
data_hora_string = "2024-12-25 18:30:00"
data_hora_objeto = datetime.strptime(data_hora_string, "%Y-%m-%d %H:%M:%S")
print(data_hora_objeto)  # Saída: 2024-12-25 18:30:00

Criando Intervalos de Tempo com timedelta

Com a classe timedelta, você pode criar intervalos de tempo, úteis para cálculos e comparações.

Exemplo:

Python
from datetime import timedelta

intervalo = timedelta(days=7, hours=5)
print(intervalo)  # Saída: 7 days, 5:00:00

Manipulação de Datas e Horas

Após criar objetos de data e hora, o próximo passo é manipulá-los. Isso inclui operações como adicionar dias, calcular diferenças entre datas e ajustar fusos horários.

Adicionando ou Subtraindo Dias e Horários

Com a classe timedelta, é fácil realizar adições ou subtrações de datas e horas.

Exemplo:

Python
hoje = datetime.now()
uma_semana_atras = hoje - timedelta(weeks=1)
uma_semana_a_frente = hoje + timedelta(weeks=1)

print(uma_semana_atras)  # Data de uma semana atrás
print(uma_semana_a_frente)  # Data de uma semana à frente

Comparando Datas e Horas

Objetos de data e hora podem ser comparados diretamente usando operadores como <, >, <= e >=.

Exemplo:

Python
data1 = datetime(2024, 12, 25)
data2 = datetime(2025, 1, 1)

if data1 < data2:
    print("Data1 ocorre antes de Data2")
else:
    print("Data1 ocorre depois de Data2")

Confira a documentação oficial do Python sobre datetime se precisar saber mais

Com essas práticas, você está pronto para manipular datas e horários de forma eficiente em Python!

0 0 votos
Classificação do artigo
Inscrever-se
Notificar de
guest
0 Comentários
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários

POSTS RELACIONADOS

Ver todos

Seta para a direita