J'essaie d'obtenir la date du mois précédent avec python. Voici ce que j'ai essayé :
str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 )
Cependant, cette méthode est mauvaise pour deux raisons : Premièrement, elle renvoie 20122 pour le mois de février de 2012 (au lieu de 201202) et deuxièmement, elle renvoie 0 au lieu de 12 pour le mois de janvier.
J'ai résolu ce problème en bash avec
echo $(date -d"3 month ago" "+%G%m%d")
Je pense que si bash a un moyen intégré pour ce but, alors python, beaucoup plus équipé, devrait fournir quelque chose de mieux que de forcer l'écriture de son propre script pour atteindre ce but. Bien sûr, je pourrais faire quelque chose comme :
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)
Je n'ai pas testé ce code et je ne veux pas l'utiliser de toute façon (à moins que je ne trouve pas d'autre moyen :/)
Merci pour votre aide !
2 votes
Liés : Quelle est la façon la plus simple de soustraire un mois d'une date en Python ?