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