2013-11-10 44 views

回答

1

使用datetime模块。如果你有一个datetime.datetime对象Adatetime.date对象B,所不同的是:

A.date() - B 

试试吧;-)

例子:

>>> from datetime import datetime, date 
>>> A = datetime.strptime("2013-11-09 18:17:53.196126", "%Y-%m-%d %H:%M:%S.%f") 
>>> B = date(*map(int, "2013-11-01".split("-"))) 
>>> print A 
2013-11-09 18:17:53.196126 
>>> print B 
2013-11-01 
>>> print A.date() - B 
8 days, 0:00:00 
+1

,与上面的例子...我试过它没有工作..did它为你工作? – user2955256

+0

@ user2955256,对不起,我不知道你试过了什么。我做了一个编辑,以显示它是如何工作的。 –

+0

'TypeError:Python 2上的 - :'datetime.date'和'datetime.datetime''不支持的操作数类型 – jfs

2

首先,你必须改变输入到python知道的类型 - datetime。然后使用内置函数。

>>> from datetime import datetime 
>>> A = datetime.strptime('2013-11-01', '%Y-%m-%d') 
>>> A 
datetime.datetime(2013, 11, 1, 0, 0) 
>>> B = datetime.strptime('2013-11-09 18:17:53.196126', '%Y-%m-%d %H:%M:%S.%f') 
>>> B 
datetime.datetime(2013, 11, 9, 18, 17, 53, 196126) 
>>> diff = B - A 
>>> diff 
datetime.timedelta(8, 65873, 196126) 
>>> diff.total_seconds() 
757073.196126 
>>> diff.total_seconds()/(60 * 60 * 24) 
8.762421251458333 
+0

将整天作为一个整数:'diff.days' – jfs