You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为relativedelta动态选择参数?Python日期计算问题

动态给relativedelta指定参数的实现方法

当然可以实现,核心是利用Python的**字典解包语法,把字符串形式的参数名转换成relativedelta的关键字参数。

修改后的可运行代码如下:

from datetime import datetime
from dateutil.relativedelta import relativedelta

today = datetime.today()

print(today)
print(today + relativedelta(months=2))

loop = 1
# 这里可以替换成'months'、'years'等relativedelta支持的参数名
time_unit = 'weeks'
for i in range(5):
    # 用字典存储参数,键为字符串形式的单位名,值为增量数值
    delta_kwargs = {time_unit: loop}
    next_date = today + relativedelta(**delta_kwargs)
    date_string = next_date.strftime('%Y-%m-%d')
    print(date_string)
    loop += 1

关键说明:

  • 构造字典delta_kwargs,将字符串形式的时间单位作为键,增量数值作为对应的值
  • 通过**delta_kwargs将字典解包为relativedelta的关键字参数,以此实现动态指定参数的效果
  • 只要time_unit是relativedelta支持的合法参数名(比如weeks、months、years、days等),就能自动适配对应的时间增量计算

内容的提问来源于stack exchange,提问作者MitchW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:54:52