在Python中减去两个日期

时间:2014-07-31 16:05:36

标签: python date

我想减去两个日期

即我已经在String类型的文本框中输入了日期 如下所示

type(waitForObject(":VWAP Calculator_LCDateTextField"), "07/24/14")

我正在捕捉那个日期,如下所示

Current = (waitForObject(":VWAP Calculator_LCDateTextField").text)

所以,现在我想用我当前的系统日期减去捕获的日期,并获得天数的差异。我尝试了很多方法但没有成功。有人请尽快帮助。

P.S:我有python 2.4和2.7

2 个答案:

答案 0 :(得分:5)

尝试这样的事情:

>>> from datetime import datetime
>>> x = datetime.strptime("07/24/14", "%m/%d/%y")
>>> y = datetime.strptime("07/30/14", "%m/%d/%y")
>>> x-y
datetime.timedelta(-6)
>>> (x-y).days
-6

这使用datetime.strptime方法将字符串转换为datetime对象。然后你可以简单地对datetime对象进行算术运算。结果将是timedelta(基本上是时间的差异),如果您希望差异以天为单位,则可以调用.days。您可以阅读所有这些函数here

如果您想使用这些方法获取当前日期,它就像:

一样简单
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2014, 7, 31, 12, 16, 12, 966428)

然后它返回另一个日期时间对象,然后您可以在其上执行日期算术。

答案 1 :(得分:0)

  1. 将字符串解析为datetime个对象(Converting string into datetime

  2. 减去datetime个对象,您将获得具有timedelta属性的days对象

  3. delta = dtend - dtstart
    print delta.days