如何在 python 中以 year-mon 格式获取最近三个月?
How to get last three months in year-mon format in python?
我想以年月格式获取从今天开始的最后三个月。例如,如果今天的日期是 2021-08-04
那么我想要最近三个月的列表作为 -
["2021-05", "2021-06", "2021-07"]
我不知道如何开始。任何帮助将不胜感激。
使用 dateutil 的 relativedelta 获得一致的结果,因为并非所有月份的天数都相同。例如
from datetime import datetime
from dateutil.relativedelta import relativedelta
NOW = datetime.now() # reference date
delta = relativedelta(months=-1) # delta in time
n = 3 # how many steps
fmt = lambda dt: dt.strftime("%Y-%m") # formatter; datetime object to string
l = sorted((fmt(NOW+delta*i) for i in range(1, n+1)))
# l
# ['2021-05', '2021-06', '2021-07']
我想以年月格式获取从今天开始的最后三个月。例如,如果今天的日期是 2021-08-04
那么我想要最近三个月的列表作为 -
["2021-05", "2021-06", "2021-07"]
我不知道如何开始。任何帮助将不胜感激。
使用 dateutil 的 relativedelta 获得一致的结果,因为并非所有月份的天数都相同。例如
from datetime import datetime
from dateutil.relativedelta import relativedelta
NOW = datetime.now() # reference date
delta = relativedelta(months=-1) # delta in time
n = 3 # how many steps
fmt = lambda dt: dt.strftime("%Y-%m") # formatter; datetime object to string
l = sorted((fmt(NOW+delta*i) for i in range(1, n+1)))
# l
# ['2021-05', '2021-06', '2021-07']