1
resposta

Erro no dia e mês começando com zero

Uma dúvida: Meu código tem um problema estranho. Para o dia de hoje (08/12/2020), se eu coloco o dia com um zero na frente (08) dá erro "SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integer". Mas se eu coloco apenas 8 funciona, daí exibe 8/12/2020. Alguma sugestão para acertar?

1 resposta

Olá Ademir, tudo bem?

Antes de continuar com a resposta, me parece que você está criando datas com números inteiros. A recomendação é que, sempre ao lidar com datas, você utilize a biblioteca datetime do python. É uma biblioteca bastante completa e evita dores de cabeça futuras (imagine adicionar 5 dias em uma data a quantidade validação que você precisará fazer pra conta não sair errada).

Isto posto, veja que ao usar o formatador do date() o output sai do jeito que você quer (com os zeros na frente). Veja abaixo o exemplo:

from datetime import date
d = date(2020, 12, 8)
d.strftime("%d/%m/%Y")
'08/12/2020'

Caso você não queira ter o zeros no início da data, também é possível. Recomendo a leitura do post abaixo no stackoverflow.

https://stackoverflow.com/questions/904928/python-strftime-date-without-leading-0

Espero ter ajudado!

Artur (Twitter @abaruchi)