1

我有一些问题,我使用python。

我有 2 个 var,比如

ads = fields.Date('Admission Date', help='Date of admission')
dds = fields.Date('Discharge Date', help='Date of discharge')

我有一个 var 减去日期,

los=ads-dds

但是,我有一些错误:

unsupported operand type(s) for -: 'datetime.datetime' and 'datetime.date'

我应该怎么做才能得到 los 的结果?

4

1 回答 1

1

这些字段之一是date对象,另一个是datetime对象。你必须决定你想要减法是什么意思

例如,您可以将date对象变成datetime具有固定时间的对象,例如午夜:

los = ads - datetime.datetime.combine(dds, datetime.time.min)

datetime.datetime.combine()接受一个date和一个time对象并创建一个新datetime对象;我们将其用作代表午夜datetime.time.min的对象的简单快捷方式。time

或者,您可以将datetime对象变成date对象,然后减去:

los = ads.date() - dds

datetime.date()方法仅返回对象的日期部分datetime。结果是一个datetime.timedelta()对象,表示两个日期之间的天数。

于 2012-12-17T12:59:32.113 回答