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

无法实现代码在指定时间执行,请求技术协助排查问题

问题排查与修复

你的代码存在三个核心问题:

  • 时间对象类型不匹配:dt.datetime.now()返回的是包含日期+时间的datetime对象,而set_time是只有时分秒的time对象,两者直接用==比较永远不会相等。
  • 当前时间未实时更新:timenow只在循环前赋值一次,之后循环里一直用的是初始时间,不会随着时间推移刷新。
  • 无延迟的死循环:循环里没有暂停逻辑,会持续占用CPU疯狂打印内容。

修正后的代码:

import datetime
import time

# 设定目标时间(时分秒)
set_time = datetime.time(12, 53)

while True:
    # 实时获取当前时间,并提取time部分
    timenow = datetime.datetime.now().time()
    # 精确到秒比较(如果需要更精确可以到微秒)
    if timenow.hour == set_time.hour and timenow.minute == set_time.minute and timenow.second == set_time.second:
        print("yeeehaaa")
        break
    # 每秒检查一次,避免占用过多CPU
    time.sleep(1)
    print("naaaaa")

补充说明:

  • 用datetime.datetime.now().time()提取当前的时间部分,和set_time类型统一后再比较。
  • 加入time.sleep(1)让每秒检查一次,降低CPU消耗。
  • 可以根据需求调整比较精度,比如只比较时分,或者加上秒、微秒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:15:19