如何在python中减去两个不同的字段日期?

时间:2012-12-17 12:56:19

标签: python date python-datetime

我有一些问题, 我用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'

我该怎么做才能得到洛杉矶的结果?

1 个答案:

答案 0 :(得分:1)

其中一个字段是date对象,另一个是datetime对象。你必须决定你想要减去什么意味着

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

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

datetime.datetime.combine()获取datetime个对象,并创建一个新的datetime对象;我们使用datetime.time.min作为代表午夜的time对象的简单快捷方式。

或者,您可以将datetime对象转换为date对象,然后减去:

los = ads.date() - dds

datetime.date() method只返回datetime对象的日期组件。结果是一个datetime.timedelta()对象,表示两个日期之间的天数。