time.sleep(1)
可以睡眠少於或多於一個第二因此t == "140000"
是不夠的。
要在給定的本地時間停止循環:「自新紀元的秒數」
import time
from datetime import datetime
stop_dt = datetime.combine(datetime.now(), datetime.strptime("1400", "%H%M").time())
stop_time = time.mktime(stop_dt.timetuple())
while time.time() < stop_time:
print(time.strftime("%H%M%S"))
time.sleep(max(1, (stop_time - time.time()) // 2))
time.time()
回報 - 與字符串比較它的作品跨越午夜。
睡眠間隔是剩餘時間的一半或一秒(無論大)。
time.mktime()
如果當本地時間不明確時基於字符串的解決方案可能停止兩次,如果停止時間在DST結束轉換期間返回錯誤結果(「回退」)。
來源
2015-02-11 16:16:06
jfs
應該''='(並使用時間戳,而不是字符串),因爲你不知道循環需要多長時間 – 2015-02-11 10:34:46