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

Python实现逐分钟递增起始时间的90分钟时间块组合生成

修改方案

核心逻辑说明

我们需要先生成所有合法的起始时间:从初始起始时间11/07/2021 04:52开始逐分钟递增,最大起始时间为end - 90分钟,保证每个起始时间加90分钟后的结束时间不超过阈值end。

完整可运行代码

import pandas as pd
from datetime import datetime, timedelta

# 基础参数配置
start = datetime(2021,7,11,4,52,0)
end = start + timedelta(minutes=1198)
interval = timedelta(minutes=90)
max_allowed_start = end - interval

# 生成所有逐分钟递增的合法时间块
blocks = []
current_st = start
while current_st <= max_allowed_start:
    current_et = current_st + interval
    alpha = (current_st - start).total_seconds() / 60
    blocks.append({
        "ST": current_st.strftime('%d/%m/%Y %H:%M'),
        "ET": current_et.strftime('%d/%m/%Y %H:%M'),
        "alpha": alpha,
        "MID": 1
    })
    current_st += timedelta(minutes=1)

# 转为DataFrame
task = pd.DataFrame(blocks)

# 输出验证
print(task.head(10)) # 查看前10行逐分钟递增效果
print("="*50)
print(task.tail(1)) # 查看最后一行,验证结束时间不超过阈值

输出效果说明

前10行输出如下,实现了起始时间逐分钟递增、对应结束时间同步逐分钟后移的要求:

ST                ET  alpha  MID
0  11/07/2021 04:52  11/07/2021 06:22    0.0    1
1  11/07/2021 04:53  11/07/2021 06:23    1.0    1
2  11/07/2021 04:54  11/07/2021 06:24    2.0    1
3  11/07/2021 04:55  11/07/2021 06:25    3.0    1
4  11/07/2021 04:56  11/07/2021 06:26    4.0    1
5  11/07/2021 04:57  11/07/2021 06:27    5.0    1
6  11/07/2021 04:58  11/07/2021 06:28    6.0    1
7  11/07/2021 04:59  11/07/2021 06:29    7.0    1
8  11/07/2021 05:00  11/07/2021 06:30    8.0    1
9  11/07/2021 05:01  11/07/2021 06:31    9.0    1

最后一行的结束时间会刚好等于配置的end阈值,不会超出范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:36:00