即使仅部分匹配,如何使if语句为真?

时间:2018-11-20 16:06:19

标签: python windows-10

我正在尝试使时钟在特定时间停止。我在Windows 10上,并且正在使用Python 3.7.1,因此代码运行如下:

import time as t
import datetime as dt
import os

tc = input("When do you want this to stop? (military time please) ")
exit = False
date = str(dt.datetime.now().date())


while (exit == False):
    if dt.datetime.now() == date + " " + tc + ":00.0000":
        exit = True
    else:
        print(dt.datetime.now())
        t.sleep(0.01)
        os.system('cls')

问题在于,零件的时间永远不会完全到达完美的位置,那么如何停止呢?

2 个答案:

答案 0 :(得分:0)

你的意思是这样吗?

if dt.datetime.now() >= date + " " + tc + ":00.0000"

还请将datetime.now()格式化为所需的字符串 使用类似datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

答案 1 :(得分:0)

您可以检查时间是否已经过去,例如

if dt.datetime.now() >= date + " " + tc + ":00.0000":

您可能必须摆弄可用的方法才能使其正常工作,我不知道该库中是否有内置的比较器。但是沿着这些思路,只是检查当前时间是否超过了期望时间。