Manipulação de Datas e Horas no Python

Cansado de programar?

Cansado(a) de quebrar a cabeça para aprender a programar Python de verdade?

Conheça a melhor e mais completa formação de Python e Django e sinta-se um programador verdadeiramente competente. Além de Python e Django, você também vai aprender Banco de Dados, SQL, HTML, CSS, Javascript, Bootstrap e muito mais!

Quero aprender Python e Django de Verdade! Quero aprender!
Suporte

Tire suas dúvidas diretamente com o professor

Suporte

Projetos práticos voltados para o mercado de trabalho

Suporte

Formação moderna com foco na prática profissional

Salve salve Pythonista 👋

Neste artigo, vamos explorar o poder da linguagem de programação Python para manipular datas e horários.

Como programadores, muitas vezes precisamos lidar com informações de tempo em nossas aplicações, seja para agendar tarefas, calcular intervalos ou exibir datas e horários para o usuário.

Portanto, é fundamental conhecer as ferramentas e bibliotecas disponíveis em Python para facilitar essa manipulação.

Vá Direto ao Assunto…

Trabalhando com a biblioteca datetime

A biblioteca datetime é uma das ferramentas mais úteis para trabalhar com datas e horários em Python.

Ela fornece uma série de classes e métodos para manipular e formatar datas e horários.

Vamos começar importando a biblioteca:

1
import datetime

Obtendo a data e hora atual

Para obter a data e hora atual, podemos utilizar a classe datetime e o método now():

1
2
agora = datetime.datetime.now()
print(agora)

A saída será algo como:

1
2022-01-10 14:25:30.567894

Manipulando datas e horários

Podemos criar objetos datetime para representar uma data específica.

Para isso, utilizamos a função datetime.datetime() e informamos o ano, mês, dia, hora, minuto e segundo:

1
2
data = datetime.datetime(2022, 1, 1, 12, 0, 0)
print(data)

A saída será:

1
2022-01-01 12:00:00

Podemos ainda obter partes específicas de uma data ou horário. Por exemplo, para obter o ano de uma data:

1
2
ano = data.year
print(ano)

A saída será:

1
2022

Podemos também realizar operações matemáticas com datas, como somar ou subtrair dias, semanas, meses ou anos:

1
2
3
data = datetime.datetime(2022, 1, 1)
nova_data = data + datetime.timedelta(days=7)
print(nova_data)

A saída será:

1
2022-01-08 00:00:00

Formatando datas e horários

A biblioteca datetime também nos permite formatar datas e horários de acordo com nossas necessidades.

Podemos utilizar o método strftime() e especificar um formato desejado.

Por exemplo, para exibir uma data no formato dia/mês/ano:

1
2
3
data = datetime.datetime(2022, 1, 10)
data_formatada = data.strftime("%d/%m/%Y")
print(data_formatada)

A saída será:

1
10/01/2022

Tá curtindo, que tal aprender Python DE VERDADE?! :point_down:

Jornada Python Jornada Python

Lidando com fusos horários

Quando trabalhamos com informações de tempo, muitas vezes precisamos lidar com diferentes fusos horários.

A biblioteca datetime não possui suporte nativo para isso, mas podemos utilizar a biblioteca pytz para lidar com fusos horários.

Para utilizar a biblioteca pytz, é necessário instalá-la primeiro. Você pode fazer isso através do gerenciador de pacotes pip:

1
pip install pytz

Após a instalação, podemos importar a biblioteca e utilizar a função timezone() para definir um fuso horário específico:

1
2
3
4
5
import pytz

fuso_horario = pytz.timezone('America/Sao_Paulo')
data = datetime.datetime.now(fuso_horario)
print(data)

A saída será a data e hora atual no fuso horário de São Paulo:

1
2022-01-10 14:25:30.567894-03:00

Está curtindo esse conteúdo? :thumbsup:

Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?

Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

Assine as PyDicas e receba 30 dias do melhor conteúdo Python na sua Caixa de Entrada: direto e sem enrolação!

Trabalhando com intervalos de tempo

A biblioteca datetime também oferece suporte para trabalhar com intervalos de tempo.

Podemos utilizar a classe timedelta para representar uma duração de tempo específica.

Por exemplo, para representar um intervalo de 2 horas:

1
2
intervalo = datetime.timedelta(hours=2)
print(intervalo)

A saída será:

1
2:00:00

Podemos somar ou subtrair intervalos de tempo de objetos datetime. Por exemplo, para obter a data e hora daqui a 3 dias:

1
2
3
data_atual = datetime.datetime.now()
data_futura = data_atual + datetime.timedelta(days=3)
print(data_futura)

A saída será:

1
2022-01-13 14:25:30.567894

Conclusão

Neste artigo, exploramos diversas funcionalidades da biblioteca datetime em Python para manipular datas e horários.

Vimos como obter a data e hora atual, manipular datas e horários, formatar informações de tempo, lidar com fusos horários e trabalhar com intervalos de tempo.

Essas habilidades são essenciais para diferentes aplicações que envolvam informações de tempo.

Portanto, é fundamental dominar esses conceitos para realizar operações precisas, evitar erros e fornecer uma melhor experiência aos usuários.

Lembre-se de que a biblioteca datetime é apenas uma das ferramentas disponíveis em Python para trabalhar com datas e horários.

Existem outras bibliotecas, como a dateutil, que fornecem funcionalidades adicionais para tarefas mais avançadas.

Portanto, não hesite em explorar outras opções se necessário.

Espero que este artigo tenha sido útil para você entender como manipular datas e horários em Python.

Agora, você está preparado para utilizar esses recursos em suas próprias aplicações e tirar o máximo proveito da linguagem.

Nos vemos no próximo artigo, Pythonista! 👋

#newsletter Olá :wave: Curtiu o artigo? Então faça parte da nossa Newsletter! Privacidade Não se preocupe, respeitamos sua privacidade. Você pode se descadastrar a qualquer momento.