注意
本文最后更新于 2023-12-08,文中内容可能已过时。
第一次运行根据程序执行时间,判断程序休眠的时间,尽最大可能休眠,节省系统资源。
第二次运行后直接休眠一天,到每天早上 8 点执行任务。
(该程序需要一直挂着,保持网络不断)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| import time
while True:
now_hour = time.strftime("%H", time.localtime())
now_min = time.strftime("%M", time.localtime())
if now_hour < "08":
rest = 8 - int(now_hour)
sleeptime = (rest-1)*3600 + (60-int(now_min))*60
print("启动时北京时间为:"+time.strftime("%H:%M", time.localtime()),"\t 软件将在",rest-1,"小时",int((sleeptime-(rest-1)*3600)/60),"分钟后发送数据")
time.sleep(sleeptime)
elif now_hour > "08":
rest = 8 - int(now_hour) + 24
sleeptime = (rest-1)*3600 + (60-int(now_min))*60
print("启动时北京时间为:"+time.strftime("%H:%M", time.localtime()),"\t 软件将在",rest-1,"小时",int((sleeptime-(rest-1)*3600)/60),"分钟后发送数据")
time.sleep(sleeptime)
elif now_hour == "08":
print("启动时北京时间为:" + time.strftime("%H:%M", time.localtime()), "\t 软件将在每天 8 点发送数据!")
# 以下为定时任务
print("数据")
time.sleep(86400-int(now_min)*60)
|