如何从09:15起每10分钟检查DataFrame?修正时间判断逻辑
解决从09:15开始每10分钟触发DataFrame检查的时间判断问题
核心逻辑修正
把原来的minute % 10 == 0替换为(minute - 15) % 10 == 0,这个逻辑会精准匹配15 + 10n的分钟点(25、35、45、55、5...),刚好对应你需要的9:25、9:35、10:05等触发时间。
时间范围约束
为了避免在非目标时段(比如9:15之前、15:25之后)误触发,需要额外加上小时和分钟的范围判断:
- 小时需在9到15之间
- 当小时为15时,分钟不能超过25
代码示例(Python)
import datetime now = datetime.datetime.now() current_hour = now.hour current_minute = now.minute # 检查是否在有效时间范围内 if (9 <= current_hour < 15) or (current_hour == 15 and current_minute <= 25): # 判断是否到达触发分钟点 if (current_minute - 15) % 10 == 0: # 执行你的DataFrame检查逻辑 # check_dataframe() print(f"[{now.strftime('%H:%M')}] 触发DataFrame检查")
逻辑说明
原来的minute % 10 == 0匹配的是分钟为0、10、20、30等整10的节点,而我们需要的是从9:15开始每10分钟偏移一次的节点,用(minute - 15) % 10 == 0可以把基准点从0调整到15,从而精准命中所有目标时间点。
内容的提问来源于stack exchange,提问作者Mintoo
相关产品推荐
相关产品推荐

