簡體   English   中英

如何在 Python 中循環我的倒數計時器?

[英]How to loop my countdown timer in Python?

我正在嘗試循環我的計時器,所以它會告訴我還剩多少秒。 現在它只顯示從啟動腳本的那一刻起還剩下多少秒,但我希望它每秒都在變化。 我將全天候 24/7 運行此腳本,因此我需要實時結果。

我的計時器:

from datetime import datetime
from threading import Timer
import time


x = datetime.now()
y=x.replace(hour=12, minute=0, second=0)
t=y-x
secs=t.seconds

我在考慮 while 循環,但我不知道如何在這段代碼中使用它。 如果你願意,你可以更改我的計時器,我只希望它告訴我指定時間還剩多少秒。

我是如何解決的:

from datetime import datetime
from threading import Timer
import time


while True:
    time.sleep(1)
    x=datetime.today()
    y=x.replace(hour=17, minute=10, second=0)
    t=y-x
    secs=t.seconds

它在 4.20 每天“說”“你好:”。 您需要調用time_to_sleep或在線程上運行它。 此外,您可以更改您的時間( HOURMINUTESECOND )和以天為單位的頻率( NEXT_DAY

from datetime import datetime, timedelta

from time import sleep
HOUR = 4
MINUTE = 20
SECOND = 0
NEXT_DAY = 1

def time_to_sleep():
    a = datetime.now()
    a += timedelta(days=NEXT_DAY)

    a = a.replace(hour=HOUR, minute=MINUTE, second=SECOND)

    return (a - datetime.now()).total_seconds()

# you may wont to run this on a thread 
def your_print():
    while True:
        sleep(time_to_sleep())
        print("Hello!")
import time, datetime

designated_date = datetime.datetime(2021, 1, 6, 15, 8, 24) # designated_date
designated_time = time.mktime(designated_date.timetuple()) # designated unix time in seconds

while True:
    time.sleep(1)         # 1 second delay
    current_time = int(time.time())      # every second get current unix time
    left = designated_time - current_time # calculation how much seconds left to desingated time
    print(left) # print results

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM