python在两个日期之间的整数差异

我有RTFM,在这里阅读了很多关于这个的问题和答案,昨天很高兴地使用strftime和strptime,所以我会发誓这应该工作,但它不是....

我只想要一个整数。 不是“timedelta对象”。 不是一个“意识到但可排除的对象”(参见I RTFM)。 不是元组。 不是字典。 只是一个简单的怪异整数,所以我可以使用if语句和分支并且很高兴。 请带上您的智慧之光,谢谢。

这是我的

...
import datetime
mdate = "2010-10-05"
rdate = "2010-10-05"
mdate1 = datetime.strptime(mdate, "%Y-%m-%d")
rdate1 = datetime.strptime(rdate, "%Y-%m-%d")
delta =  datetime.timedelta.days(mdate1 - rdate1)

这是我得到的:

pmain.py:4: AttributeError: 'module' object has no attribute 'strptime'
(error hits in the 'mdate1..." line above)

而且,这并不意味着我的三角洲线将起作用 - 请看看那个。


您想获取classmethod datetime.datetime.strptime() ,然后从得到的timedelta中获取.days 属性

import datetime

mdate = "2010-10-05"
rdate = "2010-10-05"
mdate1 = datetime.datetime.strptime(mdate, "%Y-%m-%d").date()
rdate1 = datetime.datetime.strptime(rdate, "%Y-%m-%d").date()
delta =  (mdate1 - rdate1).days

所以你有datetime模块,它有一个datetime.datetime类,它又有一个datetime.datetime.strptime()方法。 我还添加了对.date()调用来提取日期部分(结果是一个datetime.date实例); 这使得时间戳的处理稍微小于24小时的倍数。

演示:

>>> import datetime
>>> mdate = "2010-10-05"
>>> rdate = "2010-10-05"
>>> mdate1 = datetime.datetime.strptime(mdate, "%Y-%m-%d").date()
>>> rdate1 = datetime.datetime.strptime(rdate, "%Y-%m-%d").date()
>>> delta =  (mdate1 - rdate1).days
>>> print delta
0
>>> type(delta)
<type 'int'>
链接地址: http://www.djcxy.com/p/3061.html

上一篇: Integer difference in python between two dates

下一篇: Converting string to milliseconds