Integer difference in python between two dates
我已经通过RTFM阅读了很多关于这方面的问题和答案,昨天我很高兴地使用了strftime和strptime,所以我发誓这应该有效,但事实并非如此。
我只想要一个整数。不是"TimeDelta对象"。不是"可识别但可哈希的对象"(请参阅,i rtfm)。不是一个元组。不是字典。只是一个简单的反常整数,这样我就可以使用if语句和分支,并感到高兴。请把你的智慧之光带到这上面,谢谢。
这是我的东西
1 2 3 4 5 6 7 | ... 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) |
我得到的是:
1 2 | pmain.py:4: AttributeError: 'module' object has no attribute 'strptime' (error hits in the 'mdate1..." line above) |
而且,这并不意味着我的三角洲线会起作用——请看那个。
您需要获取classmethod
1 2 3 4 5 6 7 | 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 |
所以你有了
演示:
1 2 3 4 5 6 7 8 9 10 | >>> 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'> |