Atualizado: 04/11/2024

Módulo datetime - Python

O módulo datetime oferece as principais ferramentas para manipulação de datas e horários no Python. Ele organiza suas funcionalidades em três classes principais:

  • date: Trabalha exclusivamente com datas (ano, mês e dia).

  • time: Manipula horários (hora, minuto, segundo e microssegundo).

  • datetime: Combina recursos de data e horário em um único objeto.

Classe date

A classe date, disponível no módulo datetime, é usada para criar e manipular objetos que representam apenas datas. Seu construtor tem a seguinte sintaxe:

date(year, month, day)

Vamos ver um exemplo de criação de uma data:

import datetime

yesterday = datetime.date(2017, 5, 2)
print(yesterday)  # Saída: 2017-05-02

O método today() retorna a data do sistema no momento da execução:

from datetime import date

today = date.today()
print(today)  # Exemplo de saída: 2024-11-15
print(f"{today.day}.{today.month}.{today.year}")  # Exemplo de saída: 15.11.2023

Os atributos day, month e year permitem acessar, respectivamente, o dia, mês e ano da data.

Classe time

A classe time é dedicada à manipulação de horários, como horas, minutos, segundos e microssegundos. Seu construtor possui a seguinte sintaxe:

time([hour], [minute], [second], [microsecond])

Caso algum parâmetro não seja fornecido, ele assume o valor padrão 0.

Exemplos de criação de um objeto time com diferentes parâmetros passados para o construtor:

from datetime import time

current_time = time()
print(current_time)  # Saída: 00:00:00

current_time = time(16, 25)
print(current_time)  # Saída: 16:25:00

current_time = time(16, 25, 45)
print(current_time)  # Saída: 16:25:45

Classe datetime

A classe datetime combina as funcionalidades de date e time, permitindo trabalhar com datas e horários simultaneamente. Seu construtor é definido como:

datetime(year, month, day, [hour], [minute], [second], [microsecond])

Os três primeiros parâmetros (ano, mês e dia) são obrigatórios; os demais são opcionais e têm como valor padrão 0.

Exemplos de criação de objetos datetime:

from datetime import datetime

deadline = datetime(2017, 5, 10)
print(deadline)  # Saída: 2017-05-10 00:00:00

deadline = datetime(2017, 5, 10, 4, 30)
print(deadline)  # Saída: 2017-05-10 04:30:00

Obtendo a data e hora atuais

O método now() retorna a data e hora do sistema.

from datetime import datetime

now = datetime.now()
print(now)  # Exemplo de saída: 2023-11-15 11:18:56.239443

print(f"{now.day}.{now.month}.{now.year} {now.hour}:{now.minute}")  # Saída: 15.11.2023 11:18

print(now.date())  # Retorna apenas a data: 2023-11-15
print(now.time())  # Retorna apenas o horário: 11:18:56.239443

Os atributos como day, q, year, hour, minute e second permitem acessar informações específicas da data e do horário.

Conversão de String para Data e Hora

O método strptime() da classe datetime permite converter uma string em um objeto datetime, utilizando um formato específico. Sua sintaxe é a seguinte:

strptime(string, format)
  • string: Representa a data e/ou hora.

  • format: Define o formato da string.

Formatos comuns:

  • %d: Dia do mês (número de 01 a 31).

  • %m: Número do mês (01 a 12).

  • %y: Ano com dois dígitos (ex.: 23 para 2023).

  • %Y: Ano com quatro dígitos (ex.: 2023).

  • %H: Hora no formato 24 horas.

  • %M: Minuto.

  • %S: Segundo.

Exemplos de conversão de string para data e hora:

from datetime import datetime

deadline = datetime.strptime("22/05/2017", "%d/%m/%Y")
print(deadline)  # Saída: 2017-05-22 00:00:00

deadline = datetime.strptime("22/05/2017 12:30", "%d/%m/%Y %H:%M")
print(deadline)  # Saída: 2017-05-22 12:30:00

deadline = datetime.strptime("05-22-2017 12:30", "%m-%d-%Y %H:%M")
print(deadline)  # Saída: 2017-05-22 12:30:00
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com