2012-12-17 97 views
1

我有一些問題, 我使用python。如何在python中減去兩個不同的字段日期?

我有2個變種,像

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

我有一個變種減去日期,

los=ads-dds 

,但是,我有一些錯誤:

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

我應該怎麼做得到洛杉磯的結果嗎?

+4

*我有一些問題,我使用python。*。不,你使用Python,太棒了!根本不是問題! :-P –

+0

兩個值必須是同一時間。因此,您需要將日期時間轉換爲日期,反之亦然。 –

+0

@ user1833746,你的意思是「必須是同一類型」,不是嗎? – jcfollower

回答

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對象的日期組件。結果是表示兩個日期之間的天數的對象。