$ 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
如何在没有正则表达式代码的情况下才能获得天数?问题升级,因为我需要在许多位置使用索引。那么一些更干净的方法呢?
答案 0 :(得分:2)
不要这么快使用str()
。从一个datetime
减去另一个timedelta
后回来的结果是{{3}}对象,它具有您可以阅读的.days
属性。
(dateComp - oldestDate).days
请注意,只读取 .days
属性意味着它会向下舍入差异 - 如果您想要舍入到最近的天数,则需要添加检查.seconds
属性以查看它是否接近0或86400的一些逻辑。