1

問題があります。Pythonを使用しています。

私は2つの変数を持っています

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

日付を引くための変数が1つあります。

los=ads-dds

しかし、私はいくつかのエラーがあります:

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

ロスの結果を得るにはどうすればよいですか?

4

1 に答える 1

1

それらのフィールドの1つはdateオブジェクトであり、もう1つはdatetimeオブジェクトです。減算の意味を決める必要があります。

たとえば、オブジェクトを1日の固定時刻、たとえば真夜中の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()、2つの日付の間の日数を表すオブジェクトです。

于 2012-12-17T12:59:32.113 に答える