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

如何让程序休眠至次日?代码休眠后无法继续运行的问题

问题分析与解决

你这段代码的核心问题是未处理日期边界场景:如果当前日期是当月最后一天(比如1月31日、4月30日),currentDate.day +1会超过当月最大天数,创建future对象时直接抛出ValueError,程序崩溃后自然无法继续执行。

修正方案

改用datetime.timedelta来计算次日零点,无需手动处理月/年的边界问题,代码更健壮:

import datetime
import time

current_date = datetime.datetime.now()
# 先获取当天零点,再加1天得到次日零点
next_day = current_date.replace(hour=0, minute=0, second=0, microsecond=0) + datetime.timedelta(days=1)
# 计算等待秒数并休眠
time.sleep((next_day - current_date).total_seconds())

# 休眠结束后,后续代码会正常执行
print("已进入次日,继续运行逻辑")

说明

  • replace(hour=0, ...)把当前时间重置为当天0点,避免因当前时间在次日零点前的不同时段导致计算误差
  • timedelta(days=1)会自动处理跨月、跨年的情况,比如1月31日加1天会自动转为2月1日,不会触发日期越界异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:45:51