Python 2.7从2个月前获得月份(即从今天开始获取'05')

And*_*ely 3 python datetime date python-2.7

我确信有一种简单的方法可以做到这一点,我错过了我努力找到答案.

基本上我怎么从n个月前得到月份的数量,即'05'或'04'?

如果这已经得到回答,我很抱歉,但我在这里研究的问题无法回答我的问题.

编辑

timedelta中没有月份参数,所以这没有回答我的问题.

马丁完全回答了我的问题!

Mar*_*ers 7

使用一些简单的模运算:

from datetime import date

def months_ago(count):
    today = date.today()
    return ((today.month - count - 1) % 12) + 1
Run Code Online (Sandbox Code Playgroud)

演示:

>>> date.today()
datetime.date(2015, 7, 28)
>>> for i in range(13):
...     print(months_ago(i))
... 
7
6
5
4
3
2
1
12
11
10
9
8
7
Run Code Online (Sandbox Code Playgroud)