CodeGym /Cursos /Python SELF PT /Noções básicas sobre data e hora no Python

Noções básicas sobre data e hora no Python

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

Introdução ao trabalho com data e hora

Bora começar com uma pequena reflexão: imagina se os computadores não conseguissem trabalhar com data e hora. Que horror! Nossos gadgets favoritos seriam completamente inúteis quando o assunto é planejar ou automatizar tarefas. Vamos entender como o Python nos ajuda a não atrasar para reuniões importantes e a manter a automação de tarefas diárias.

Trabalhar com data e hora é parte essencial da programação, especialmente quando se fala de automação. Imagine o seguinte: você tem relatórios que precisam ser atualizados a cada hora ou lembretes que devem te lembrar de fazer uma pausa (sim, porque você já está há 5 horas na frente do monitor!). O Python oferece diversas ferramentas para lidar com data e hora. Vamos explorá-las nesta aula.

1. Módulos para trabalhar com data e hora

O Python possui vários módulos que tornam o trabalho com data e hora mais fácil. Vamos focar em três módulos principais: datetime, time e calendar.

  • datetime: provavelmente, a maior parte do trabalho com data e hora será feita com este. Ele fornece classes para trabalhar com datas, horas e combinações das duas.
  • time: este módulo oferece funções para trabalhar com representações mais básicas de tempo, geralmente interagindo com o tempo do sistema.
  • calendar: ajuda a trabalhar com calendários (bom, isso é bem óbvio, né?).

Funções e classes principais do módulo datetime

Vamos nos aprofundar no módulo datetime e explorar seus componentes principais.

Classe date

Essa classe é usada para trabalhar com datas. Ela permite definir e modificar anos, meses e dias sem a necessidade de vincular isso ao tempo (horas/minutos).

Python

from datetime import date

# Criando um objeto date
my_birthday = date(1990, 12, 25)
print("Data do meu aniversário:", my_birthday)

Classe time

Essa classe, como o nome sugere, é exclusivamente para o tempo — horas, minutos, segundos. Ela é perfeita para situações em que precisamos lidar apenas com o tempo, sem considerar data.

Python

from datetime import time

# Criando um objeto time
meeting_time = time(14, 30)  # 14:30
print("O horário da reunião é:", meeting_time)

Classe datetime

Essa é a classe mais versátil, pois combina data e hora em um único objeto.

Python

from datetime import datetime

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

2. Usando o módulo datetime para obter data e hora atuais

Obter a data e hora atuais é a base para planejamento e automação. O datetime oferece vários métodos práticos para fazer isso.

Obtendo a data e hora atuais

Com os métodos datetime.now() e datetime.today(), você consegue facilmente pegar a data e hora atuais.

Python

now = datetime.now()
print("Data e hora atuais (now):", now)

today = datetime.today()
print("Data atual (today):", today)

Trabalhando com objetos datetime

O objeto datetime permite extrair componentes do tempo, como ano, mês, dia e outros. É importante também entender as diferenças entre horário local e tempo universal (UTC).

Python

year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"Hoje: {day}/{month}/{year}, e o horário: {hour}:{minute}:{second}")

Ao implementar aplicações, considere as diferenças entre horário local e UTC, porque o mundo é grande e cada um tem seu relógio!

3. Exemplos de uso de data e hora atuais em tarefas reais

Por exemplo, você precisa buscar dados de uma fonte a cada hora. Isso pode ser facilmente automatizado comparando-se o horário atual com a última execução. Tipo assim:

Python

from datetime import timedelta

last_run = datetime.now() - timedelta(hours=1)
current_time = datetime.now()

# Se a última execução foi há mais de uma hora
if current_time - last_run > timedelta(hours=1):
    print("Hora de atualizar os dados!")
    last_run = current_time

Esse código lembra de executar algo apenas se já passou mais de uma hora. Note como o timedelta é útil para cálculos com o tempo.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION