python - 如何让用户输入日期并从中减去

标签 python python-2.7

我想要的是用户输入选定的日期,然后从当前日期中减去该日期,然后根据结果创建一个 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/

相关文章:

python - Tkinter 绘制矩形未按预期工作

python - 在 pandas 数据框中获取特定值

python - 在 Sublime Text 2 中运行 python 出现错误

python - 正确地将变量传递给函数

python - 在 imshow::matplotlib 中记录 x 尺度

mysql - Python 2.7 + Django + MySQL-python错误

python - 这些对在 dblquad 中返回固定值的函数的频繁调用是否可以避免?

python - 导入错误: cannot import name certificate_transparency after installing Pusher

python - 列表中连续元素之间的差异

python - 如何使用 unittest setUpClass 方法()?