Estou tentando obter a data do mês anterior com python. Aqui está o que eu tentei:
str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 )
No entanto, esse caminho é ruim por 2 motivos: primeiro ele retorna 20122 para fevereiro de 2012 (em vez de 201202) e, em segundo lugar, retorna 0 em vez de 12 em janeiro.
Eu resolvi esse problema no bash com
echo $(date -d"3 month ago" "+%G%m%d")
Eu acho que se o bash tem um caminho embutido para esse fim, o python, muito mais equipado, deve fornecer algo melhor do que forçar a escrita do próprio script para atingir esse objetivo. Claro que eu poderia fazer algo como:
if int(time.strftime('%m')) == 1:
return '12'
else:
if int(time.strftime('%m')) < 10:
return '0'+str(time.strftime('%m')-1)
else:
return str(time.strftime('%m') -1)
Não testei esse código e não quero usá-lo de qualquer maneira (a menos que não encontre outra maneira: /)
Obrigado pela ajuda!