Estoy tratando de obtener la fecha del mes anterior con python. Esto es lo que he intentado:
str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 )
Sin embargo, de esta manera es malo por 2 razones: primero devuelve 20122 para febrero de 2012 (en lugar de 201202) y, en segundo lugar, devolverá 0 en lugar de 12 en enero.
He resuelto este problema en bash con
echo $(date -d"3 month ago" "+%G%m%d")
Creo que si bash tiene una forma integrada para este propósito, entonces python, mucho más equipado, debería proporcionar algo mejor que forzar la escritura del propio script para lograr este objetivo. Por supuesto que podría hacer 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)
No he probado este código y no quiero usarlo de todos modos (a menos que no pueda encontrar otra forma: /)
¡Gracias por tu ayuda!