2017-03-04 107 views
0

作爲示例,我想每打印1分鐘,使用時間或日期時間打印一分鐘。我無法使用time.sleep(60),因爲我有更多的代碼需要在whileloop每次更新時運行。我需要一種方法來檢查datetime.now()是否大於1分鐘前。謝謝!如何使用Python與Datetime打印每分鐘

import time 
import datetime as dt 

t = dt.datetime.now() 

while True: 
    if 60 seconds has passed: 
    print("1 Min") 
+0

你有沒有考慮使用調度? [這一個](https://github.com/dbader/schedule)很容易使用 – gsmafra

+0

謝謝你試試這個以及 – BillyRay

回答

1

這可能是你在找什麼:

import datetime as dt 
from time import sleep 

t = dt.datetime.now() 
minute_count = 0 

while True: 
    delta_minutes = (dt.datetime.now() -t).seconds/60;     
    if delta_minutes and delta_minutes != minute_count: 
     print("1 Min") 
     minute_count = delta_minutes 
    sleep(1) # Stop maxing out CPU 
1

您可以使用timedelta。它測試瑟如果總秒等於60

import datetime as dt 

t = dt.datetime.now() 

while True: 
    delta=dt.datetime.now()-t 
    if delta.seconds >= 60: 
    print("1 Min") 
    t = dt.datetime.now() 
+0

重新讀取的問題.. – smoggers

+0

@smoggers對不起,我剛剛讀了標題 – abccd