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)
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)
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)
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)
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.
Quer saber mais sobre como trabalhar com tempo no Python? Conheça o curso online completo de Python da Hashtag Treinamentos!
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!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.