# 有一些程序需要定时运行,于是一个睡眠程序就出现了。这个程序的用途
# 就是运行程序之后调用,然后睡眠。这样程序就会在指定的时间开始运行了。
# 这里获取的时第二天指定时间距离现在的秒数。其实根据测试,指定的时间
# 也可以是负的或者超过24小时的。如此一来,其实变通一下就可以实现很多的需要。
import time
def getSecondsTillNextDayAt(t='11:00'):
temp_time = list(time.localtime())
temp = t.split(':')
temp_time[2]+=1
temp_time[3]=int(temp[0].strip())
temp_time[4]=int(temp[1].strip())
end = time.mktime(temp_time)
interval = end - time.time()
return interval
# 有一些时候,需要在指定的星期日子里处理
# 于是又有了一个很笨的方法了
# 本来想用datetime里的timedelta的,弄了半天没有结果
# 只要用这个笨笨的办法先将就着了
def GetSecondsTillNextWeekAt(Time='13:00', Week='7'):
TempTime = list(time.localtime())
temp = Time.split(':')
week = int(Week.strip()) - 1
hour = int(temp[0].strip())
second = int(temp[1].strip())
if TempTime[-3] < week:
TempTime[2] += week - TempTime[-3]
elif TempTime[-3] > week:
TempTime[2] += 7 - TempTime[-3] + week
else:
TempTime[2] += 7
TempTime[3] = hour
TempTime[4] = second
End = time.mktime(TempTime)
interval = End - time.time()
return interval
#######################################
def testGetSecondsTillNextDayAt():
# 下面的差应该是相差3600
print getSecondsTillNextDayAt()
print getSecondsTillNextDayAt('10:00')
return
testGetSecondsTillNextDayAt()
# output
#92939.747
#89339.747
[python]利用将要睡眠的时间巧妙地定时运行
最新推荐文章于 2024-07-26 02:08:33 发布