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

Python中如何从起止日期字符串生成连续日期数组

从日期范围字符串生成连续日期数组

给定字符串 period = "2022-09-12/2022-09-15",要生成包含这段时间内所有日期的数组,可以用以下两种方法实现:

方法一:使用Python标准库datetime

无需额外安装依赖,适合轻量场景:

  1. 分割日期字符串,提取起始和结束日期的字符串形式
  2. 将字符串转换为date对象,方便日期计算
  3. 计算起始到结束的天数差,循环生成每一天的日期并转为指定格式的字符串

完整代码:

from datetime import datetime, timedelta

period = "2022-09-12/2022-09-15"
# 分割起始和结束日期字符串
start_str, end_str = period.split('/')
# 转换为date对象
start_date = datetime.strptime(start_str, '%Y-%m-%d').date()
end_date = datetime.strptime(end_str, '%Y-%m-%d').date()

# 生成连续日期数组
arr = []
current_date = start_date
while current_date <= end_date:
    arr.append(current_date.strftime('%Y-%m-%d'))
    current_date += timedelta(days=1)

print(arr)
# 输出: ['2022-09-12', '2022-09-13', '2022-09-14', '2022-09-15']

方法二:使用pandas(适合数据处理场景)

如果你的项目已经在使用pandas,这个方法更简洁:

import pandas as pd

period = "2022-09-12/2022-09-15"
start_str, end_str = period.split('/')
# 生成日期范围并转为字符串数组
arr = pd.date_range(start=start_str, end=end_str).strftime('%Y-%m-%d').tolist()

print(arr)
# 输出: ['2022-09-12', '2022-09-13', '2022-09-14', '2022-09-15']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:40:54