日期时间差异仅返回天数?

时间:2011-10-06 01:12:07

标签: python regex datetime

$ cat .t.py 
import re
from datetime import datetime as dtt

oldestDate = dateComp = dtt.strptime('1.1.1001', '%d.%m.%Y')
dateComp = dtt.strptime('11.1.2011', '%d.%m.%Y')
ind = re.sub(" days,.*", "", str((dateComp - oldestDate)))

print ind
print dateComp - oldestDate
$ python .t.py 
368905
368905 days, 0:00:00

如何在没有正则表达式代码的情况下才能获得天数?问题升级,因为我需要在许多位置使用索引。那么一些更干净的方法呢?

1 个答案:

答案 0 :(得分:2)

不要这么快使用str()。从一个datetime减去另一个timedelta后回来的结果是{{3}}对象,它具有您可以阅读的.days属性。

(dateComp - oldestDate).days

请注意,只读取 .days属性意味着它会向下舍入差异 - 如果您想要舍入到最近的天数,则需要添加检查.seconds属性以查看它是否接近0或86400的一些逻辑。