我想要的是用户输入选定的日期,然后从当前日期中减去该日期,然后根据结果创建一个 sleep 计时器。
from datetime import tzinfo, timedelta, datetime
def ObtainDate():
isValid=False
while not isValid:
userIn = raw_input("Type Date: mm/dd/yy: ")
try:
d1 = datetime.datetime.strptime(userIn, "%m/%d/%y")
isValid=True
except:
print "Invalid Format!\n"
return d1
t = (datetime.now() - d1).seconds
我当前的代码如下所示,但我无法弄清楚如何获取 d1 并从中减去当前日期。
最佳答案
由于您正在使用导入类
from datetime import tzinfo, timedelta, datetime
您不再以该名称导入整个日期时间模块,而是将各个类直接导入到脚本的命名空间中。因此,您的输入解析语句应如下所示:
d1 = datetime.strptime(userIn, "%m/%d/%y") # You are no longer
以下内容将为您提供现在与输入时间之间的秒差:
t = (datetime.now() - d1).total_seconds()
至于第二部分,实现定时器的方法有很多种。一种简单的方法是
import time
time.sleep(t)
编辑
这是整个事情:
from datetime import tzinfo, timedelta, datetime
def ObtainDate():
isValid=False
while not isValid:
userIn = raw_input("Type Date: mm/dd/yy: ")
try:
d1 = datetime.strptime(userIn, "%m/%d/%y")
isValid=True
except:
print "Invalid Format!\n"
return d1
t = (ObtainDate() - datetime.now()).total_seconds()
print t
关于python - 如何让用户输入日期并从中减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19040057/