Módulo datetime - Python
O módulo datetime
: Trabalha exclusivamente com datas (ano, mês e dia).date
: Manipula horários (hora, minuto, segundo e microssegundo).time
: Combina recursos de data e horário em um único objeto.datetime
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()
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
year
Classe time
A classe time
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
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
date
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()
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
year
hour
minute
second
Conversão de String para Data e Hora
O método strptime()
datetime
datetime
strptime(string, format)
: Representa a data e/ou hora.string
: Define o formato da string.format
Formatos comuns:
: Dia do mês (número de 01 a 31).%d
: Número do mês (01 a 12).%m
: Ano com dois dígitos (ex.: 23 para 2023).%y
: Ano com quatro dígitos (ex.: 2023).%Y
: Hora no formato 24 horas.%H
: Minuto.%M
: Segundo.%S
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