减去两个日期以给出timedelta

Ste*_*en 3 python datetime

我正在尝试从我的一个数据库值中获取值,这将通过从今天的日期减去购买日期来给出.我用这种方式编写了代码:

delta = datetime.now() - item.purchase_date
Run Code Online (Sandbox Code Playgroud)

但这给了我这个错误:

unsupported operand type(s) for -: 'datetime.datetime' and 'datetime.date'
Run Code Online (Sandbox Code Playgroud)

如果我使用datetime.datetime.now()这个不起作用.我错过了什么 谢谢.

Sil*_*ost 11

你需要使用date.todaydatetime.now().date()代替datetime.now:

>>> import datetime
>>> datetime.date.today()
datetime.date(2010, 2, 10)
>>> datetime.datetime.now().date()
datetime.date(2010, 2, 10)
Run Code Online (Sandbox Code Playgroud)