首页 > 解决方案 > 在 Python 中创建特定间隔的年月列表

问题描述

如何根据以下条件创建日期列表:

例如,今天是2020-07-01,所以我需要一个包含上个月、下一个 6 个月和下一个 12 个月的日期列表。预期的列表将是[2020-06, 2020-12, 2020-06].

请注意我需要使用datetime.today()来保持列表动态变化。

我通过以下代码获得了当前月份:

from datetime import datetime
format(datetime.today().strftime('%Y-%m'))

出去:

2020-07

标签: python-3.xlistdatedatetimetime

解决方案


您可以使用relativedelta查找月份的差异和所需月份的列表。

from datetime import datetime
from dateutil.relativedelta import relativedelta

need_months = [-1, 6, 12]
print([(datetime.today()+ relativedelta(months=i if i < 0 else i - 1)).strftime('%Y-%m') for i in need_months])

输出

['2020-06', '2020-12', '2021-06']

推荐阅读