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