Blog

Postado em em 11 de novembro de 2021

Como Trabalhar com Tempo no Python – Biblioteca Datetime

Na aula de hoje eu quero te mostrar como trabalhar com tempo no Python utilizando a biblioteca datetime para te auxiliar nos seus projetos!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Trabalhando com Tempo no Python

Você sabia que é possível trabalhar com tempo utilizando a biblioteca Datetime no Python?

Hoje quero mostrar como você pode não só trabalhar com essas informações, mas como formatar a data, fazer operações entre datas, entre outras atividades!

Como Trabalhar com Tempo no Python

Como você deve saber, o primeiro passo é importar a biblioteca, visto que essa biblioteca é nativa do Python.

import datetime # para importar toda a biblioteca
# import datetime as dt # substituindo o nome datetime por dt dentro do código
# from datetime import date # quando se quer apenas 1 dos submódulos

Aqui temos as principais classes que utilizarei na explicação.

OBS: Lembrando que o arquivo está disponível para download, mas você pode consultar a documentação da biblioteca, o que é sempre útil. Lembre-se de que recorrer à documentação para detalhes e aprofundamentos sobre a biblioteca ou o que estiver utilizando no Python.

Agora que você já sabe dessas informações podemos prosseguir!

data = datetime.date(2021,9,25)
print(data)

print(data.ctime())

ano = data.year
mes = data.month
dia = data.day
#hora = data.hora # erro!
print(ano, mes, dia)

nova_data = data.replace(day=2)
print(nova_data)
print(data)
Métodos da biblioteca datetime

Aqui temos a formatação de data no Python (que é bem simples) e logo abaixo temos a alteração dessa formatação para um formato com tempo utilizando o ctime.

O acesso a uma informação é simples e intuitivo, como já deve ter visto em outros programas. Caso tenha conhecimento em inglês, fica ainda mais fácil.

A alteração é bem similar, mas utilizaremos o .replace + o que planejamos substituir. Lembrando que todas essas informações são em inglês, então não adianta escrever “dia”, “mês” ou “ano” dentro desses métodos.

hoje = datetime.date.today()
print(hoje)

delta = hoje - data
print(delta)
print(type(delta))

nova_data = data + delta
print(nova_data)

hora = datetime.time

print(hora.hour)
print(hora.minute)
print(hora.second)
Métodos da biblioteca datetime

Agora apresento mais alguns métodos que também são tranquilos de entender e replicar.

O primeiro deles, talvez o mais utilizado, é o datetime.date.today(), dessa forma você consegue obter a data atual no Python.

Outro ponto interessante e provavelmente muito utilizado quando trabalhamos com datas são as operações.

É possível que façamos soma e subtração normalmente para verificamos o tempo de entre, tempo de espera, entre outras informações temporais.

Essa parte de operações com datas no Python é muito útil, principalmente quando estamos trabalhando com produtos, prazos de entrega, informações sobre produção, etc.

Nós vimos o datetime.date, mas temos também o datetime.time que permite formatar como tempo.

Então podemos obter hora, minuto e segundo da mesma maneira que conseguimos obter dia, mês e ano de uma data.

Assim você já sabe como acessar uma informação de data ou tempo quando precisar de uma informação específica.

data = dateime.datetime(2021,11,12,11,15)
print(data)

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

agora_string = agora.strftime("%A %d %B %y %I:%M")
print(agora_string)

agora_datetime = datetime.datetime.strptime(agora_string,"%A %d %B %y %I:%M")
print(agora_datetime)
Como Trabalhar com Tempo no Python

Também é possível criarmos um data e um tempo, ou criarmos uma variável que tenha tanto a data quanto a hora.

Isso quer dizer que podemos ter as duas informações em uma única variável. E assim como pegamos a data atual, podemos pegar a hora.

Então além da data atual, você já vai ter a hora atual, o que é interessante para algumas aplicações que precisam de um detalhamento maior em relação ao tempo.

Após pegarmos a data e hora temos como exibir essas informações de uma maneira diferente utilizando texto (formato de string).

Isso é muito interessante para quando precisamos do texto completo e não somente a data. Veja que no arquivo que disponibilizei a documentação de como funciona essa parte.

Cada letra tem um significado e alterar entre maiúscula e minúscula faz diferença no resultado. Por exemplo, a letra A (em maiúsculo) mostra o nome do dia da semana.

Se utilizar maiúsculo nós temos o nome do dia completo, caso utilizemos minúsculo teremos o nome do dia abreviado.

Nessa documentação tem uma série de informações que podem ser úteis para suas aplicações, então vale a pena dar uma olhada, pois vão te auxiliar!

comentarios = []

comentario=none
while comentario != "":
	comentario = input('Insira seu comentário')
	data_public = datetime.datetime.now()
	data_public_str = data_public.srtftime("%d/%m/%Y %H:%M")
	comentarios.append((comentario,data_public_str))

for comentario in comentarios[:-1]:
	print(comentario)
Como Trabalhar com Tempo no Python
Aplicação prática

Para finalizar temos um pequeno código para utilizar o que aprendemos na aula de hoje, então proponho que utilizemos as estruturas de repetição while e for.

Utilizaremos a estrutura while para pegar o comentário do usuário e em seguida guardá-lo com a hora em que foi feito.

Assim, não havendo nada escrito e o usuário pressionar enter, partiremos para a estrutura de repetição for.

Essa estrutura vai apenas fazer um print de tudo o que foi armazenado durante a fase dos comentários.

Então, enquanto o comentário diferir de vazio, o Python guardará o que for registrado e vai armazenará a hora em que isso foi feito.

Conclusão

Nessa aula eu te mostrei como você trabalha com tempo dentro do Python. Não é nada complexo, mas saber um pouco de inglês facilita na hora de escrever os códigos.

Isso não é necessário, mas te ajuda se souber, até porque boa parte das documentações que vamos encontrar estão em inglês. Mesmo que não saiba, é possível traduzi-las, conseguindo utilizá-las com tranquilidade.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?