CodeGym /Cursos /Python SELF PT /Usando o módulo datetime

Usando o módulo datetime

Python SELF PT
Nível 39 , Lição 1
Disponível

1. Obtendo a data e hora atuais

Por que isso é útil?

Como se sabe, tempo é dinheiro. E na programação, também é controle, planejamento e automação. Por exemplo, se você quiser executar uma tarefa em um horário específico ou registrar eventos, precisa saber que o relógio está correndo e como interagir com isso.

Fundamentos do datetime

Então, imagine que estamos começando a trabalhar com a biblioteca datetime. Diferente de criar um foguete espacial, isso é moleza! Vamos começar obtendo a data e hora atuais:

Python

from datetime import datetime

# Obtendo a data e hora atuais
now = datetime.now()
print("Data e hora atuais:", now)

Esse código diz "Ei, datetime, vamos descobrir que horas são agora!" E o mais legal, now() retorna um objeto datetime, que contém todas as informações sobre o momento atual no tempo. Sim, tipo um professor que sabe tudo de uma vez.

Hora local e universal (UTC)

Ah, UTC — o tempo universal que une todos nós sem fusos horários extras. Se você quiser saber a hora exata em Marte (bem, quase isso), o UTC serve. E aqui está como obtê-lo:

Python

# Obtendo a hora atual no formato UTC
now_utc = datetime.utcnow()
print("Data e hora atuais em UTC:", now_utc)

Você deve estar se perguntando, qual é a diferença? A hora local leva em conta seu fuso horário, enquanto o UTC é o horário de Greenwich, independente da localização geográfica.

Extraindo partes da data e hora

Às vezes, não precisamos da data completa, mas apenas de uma parte dela. É como pedir pizza e pegar só o queijo — nem sempre faz sentido, mas às vezes é necessário:

Python

# Extraindo partes individuais da data e hora
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"Agora são {hour}:{minute}:{second} do dia {day}/{month}/{year}")

Assim, podemos trabalhar individualmente com os elementos da data e hora, como, por exemplo, para lembrar um amigo de aniversário (mas só se ele lembrar primeiro).

Exemplos de uso da data e hora atuais

Outra coisa é quando você precisa programar eventos que ocorrem em momentos diferentes. Por exemplo, vamos criar um script básico que parabeniza todos por sexta-feira (porque quem não ama sexta-feira?).

Python

# Exemplo de uso da data atual para um lembrete diário
if now.weekday() == 4:  # Sexta-feira
    print("Uhul! Hoje é sexta-feira, hora de relaxar!")
else:
    print("Espere um pouco mais, a sexta ainda não chegou.")

Esse código usa o método weekday(), que retorna um número de 0 a 6 (onde 0 é segunda-feira, e 6 é domingo), para verificar que dia da semana é hoje e avisar sobre o fim de semana que está chegando.

2. Trabalhando com objetos datetime

Não basta saber que horas são agora, mas também como calcular a diferença entre momentos ou realizar comparações. Por exemplo, como descobrir o quanto você está atrasado para a reunião com seus amigos?

Python

# Exemplo de cálculo da diferença de tempo
from datetime import timedelta

# Criando uma data no passado
past_date = datetime(2023, 1, 1, 10, 0, 0)

# Calculando a diferença entre o horário atual e o passado
difference = now - past_date
print(f"Desde aquele dia memorável passaram-se {difference.days} dias e {difference.seconds // 3600} horas.")

Aqui criamos uma data no passado e comparamos com o presente. Quantos dias passaram desde o Ano Novo? Agora você sabe!

3. Trabalhando com fusos horários

Para trabalhar com fusos horários no datetime, usamos a biblioteca pytz, que permite converter data e hora para o fuso horário necessário.

Exemplo de uso do pytz

Python

from datetime import datetime
import pytz

# Obtendo a data e hora atuais em UTC
utc_now = datetime.now(pytz.utc)
print("Data e hora atuais (UTC):", utc_now)

# Convertendo para outro fuso horário (exemplo, US/Pacific)
pacific_now = utc_now.astimezone(pytz.timezone("US/Pacific"))
print("Data e hora atuais (Horário do Pacífico):", pacific_now)

Saída:


Data e hora atuais (UTC): 2024-11-04 14:53:27.123456+00:00
Data e hora atuais (Horário do Pacífico): 2024-11-04 06:53:27.123456-08:00
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION