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

Python中为日期列表的每个日期递增一天并扩展列表的最优方法

实现方法

最优方案是用Python标准库的datetime模块处理日期计算,避免手动操作字符串可能出现的边界错误(比如月底、闰年2月的特殊情况)。具体实现步骤如下:

  1. 导入datetime模块中的date和timedelta类
  2. 遍历原日期列表,对每个日期执行:
    • 将日期字符串解析为date对象
    • 计算该日期加一天后的日期
    • 将原日期和新增日期依次加入结果列表

代码示例

from datetime import date, timedelta

dates = ['2022-01-01', '2022-01-08', '2022-01-21']
dates_new = []

for d_str in dates:
    # 解析ISO格式的日期字符串为date对象
    d = date.fromisoformat(d_str)
    # 计算加一天后的日期
    next_day = d + timedelta(days=1)
    # 将原日期和新日期转为字符串后加入结果列表
    dates_new.append(d_str)
    dates_new.append(next_day.isoformat())

print(dates_new)
# 输出结果: ['2022-01-01', '2022-01-02', '2022-01-08', '2022-01-09', '2022-01-21', '2022-01-22']

说明

  • date.fromisoformat()专门处理YYYY-MM-DD格式的字符串,比strptime更简洁高效
  • timedelta(days=1)能安全处理所有日期递增场景,比如2022-01-31加一天会自动转为2022-02-01
  • 结果严格遵循原列表顺序,每个原日期紧跟其递增后的日期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:25:19