Você já teve que manipular datas em python?
Ela dá uma confusão e retorna a data errada. 😏
Olha o que estava acontecendo no meu código.
Ele estava retornando como data atual 15 de novembro sendo que hoje é 14 de novembro
Assim estava meu código
#Importando a biblioteca
import datetime
#Obter a data atual
date_today =datetime.datetime.now()
#Formatar a data em "dd/mm/aaaa"
date_formated= date_today.strftime("%d/%m/%Y" )
print(date_formated)
15/11/2023
Tudo estava certinho, chamava a função, porém a data retornava errada.
Logo depois de dar umas pesquisadas, descobri 🙀🙀 que acontece pelo fuso horário ou localização incorreta no ambiente do sistema, ele pega a data e pela hora que estamos rodando o código, pode ter uma diferença de um dia.
É por isso que vamos melhorar o código definindo o fuso horário local.
Vamos a usar uma nova biblioteca pytz e definimos explicitamente o fuso horário de 'America/São_Paulo'
Ficando o código assim
#Instalando pacote pytz com Pip Install Packages
pip install pytz
import datetime
import pytz
# Obter a data e hora atual com o fuso horário local
datetime_now = datetime.datetime.now(pytz. timezone('America/Sao_Paulo'))
# Obter apenas a parte da data
date_today = datetime_now.date()
# Formatar a data em "dd/mm/aaaa"
date_formatted = date_today.strftime("%d/%m/%Y" )
print(date_formatted)
14/11/2023
Agora sim 👌👌 imprime certinho o dia de hoje que é 14 de novembro
Código disponível em: https://github.com/nadiduno/linkColabGoogle/blob/main/datanadiduno.ipynb
Nenhum comentário:
Postar um comentário