如何使用Python使用Datetime打印每一分钟

时间:2017-03-04 18:29:46

标签: python loops datetime time

作为一个例子,我想打印,#1; 1分钟",每次使用时间或日期时间1分钟。我不能使用time.sleep(60)因为我有更多的代码需要在每次更新时在while循环中运行。我需要一种方法来检查datetime.now()是否大于1分钟前。谢谢!

import time
import datetime as dt

t = dt.datetime.now()

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

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分: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 has passed since the last print")
        minute_count = delta_minutes
    sleep(1) # Stop maxing out CPU