Я пытаюсь получить дату предыдущего месяца с помощью python. Вот что я пробовал:python дата предыдущего месяца
str(time.strftime('%Y')) + str(int(time.strftime('%m'))-1)
Однако этот путь плох по 2 причинам: во-первых она возвращает 20122 за февраль 2012 года (вместо 201202) и во-вторых, она возвращает 0 вместо 12 на январь.
Я решил эту проблемы в Баш с
echo $(date -d"3 month ago" "+%G%m%d")
Я думаю, что если Баш имеет встроенный способ для этой цели, то питон, гораздо более подготовлены, должны предоставить что-то лучше, чем принуждение писать свою собственную сценарий для достижения этой цели. Конечно, я мог бы сделать что-то вроде:
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)
Я не проверял этот код и я не хочу, так или иначе использовать его (если я не могу найти какой-либо другой путь: /)
Спасибо за ваша помощь!
Это Python 2 или 3? –
: [Самый простой способ вычесть месяц со дня на Python?] (Http://stackoverflow.com/a/7153449/4279) – jfs