【问题标题】:Create a year month list of specific intervals in Python在 Python 中创建特定间隔的年月列表
【发布时间】:2020-10-21 18:22:06
【问题描述】:

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

例如,今天是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.x list date datetime time


    【解决方案1】:

    您可以使用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']
    

    【讨论】:

    • 如果我想创建一个从现在到未来 3 个月的列表,['2020-07', '2020-08', '2021-09'],我怎么能得到呢?
    • 只需将 need_months 改为 need_months = [1, 2, 3]
    猜你喜欢
    • 2020-10-28
    • 2010-11-11
    • 1970-01-01
    • 2014-06-12
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多