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

Python生成指定时间范围内对齐的10分钟间隔区间起止时间列表

实现方案

核心逻辑为先对输入的起止时间做10分钟粒度的向下对齐,再生成时间序列,完整实现代码如下:

import pandas as pd

# 输入的起止时间
start_time = '2020-09-02 17:33:04.472'
end_time = '2020-09-02 20:19:14.859'

# 转换为datetime类型并向下对齐到10分钟粒度
start_aligned = pd.to_datetime(start_time).floor('10T')
end_aligned = pd.to_datetime(end_time).floor('10T')

# 生成所有区间起始时间序列
start_times = pd.date_range(start=start_aligned, end=end_aligned + pd.Timedelta(minutes=10), freq='10T')

# 保留7点到22点的过滤逻辑(不需要可删除.between_time这一步)
start_times_list = start_times.to_series().between_time('07:00','22:00').dt.strftime('%Y-%m-%d %H:%M:%S').tolist()

# 区间结束时间为对应起始时间加10分钟
end_times_list = (start_times + pd.Timedelta(minutes=10)).strftime('%Y-%m-%d %H:%M:%S').tolist()

关键逻辑说明

  • floor('10T') 是pandas提供的时间向下取整方法,会自动把分钟部分对齐到最近的小于等于当前值的10的整数倍,秒和毫秒部分清零,刚好符合对齐要求
  • 生成起始时间序列时结束时间加了10分钟,是因为原始结束时间向下对齐后是20:10,要覆盖到20:20这个起始点,需要把date_range的结束阈值往后延10分钟
  • 结束时间列表直接通过起始时间序列统一加10分钟生成,不需要重复计算,保证相邻区间完全衔接没有空隙

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 13:24:04