2017-01-27 14 views
-1

Pythonの2つの日付の間に何日あるか知りたいと思うので、情報を格納するために "date"型を使用しています。私はちょうど2つの日付を引く場合でも、私は整数値をない受け取るが、タプルのいくつかの種類:Pythonの日付の算術演算

from datetime import * 

a = date(2016, 9, 26) 
b = date(2017, 1, 25) 
delta = b - a 

print('Interval is', delta, 'days long.') 

戻り値:Interval is 121 days, 0:00:00 days long.

しかし、私はこのようにそれを行う場合、私は唯一の日数を受けます。

from datetime import * 

a = date(2016, 9, 26) 
b = date(2017, 1, 25) 

delta = b - a 

print('Interval is', delta.days, 'days long.\n') 

戻り値:Interval is 121 long.

In Python documentationクラス "日付" のバージョン3.6オブジェクトのための3つの引数があります:日付自体に動作しているとき、それはまだ不必要な時間に0:00:00デルタを返しなぜ

class datetime.date(year, month, day) 

を?

+0

「不要」とはどういう意味ですか? – khelwood

+0

私は '0:00:00'を意味します。タイプ日付の場合、時間を追加する理由は年、月、日しかありませんか? –

答えて

0

ああ、今すぐ手に入れました!減算では日数の整数値が返されず、タイプtimedeltaのオブジェクトが返されます。この特定のケースでは、明示的に値をdelta.daysdelta.milisecondsでアクセスする必要があります。

+0

申し訳ありませんが、「ポスト」をクリックした後、ちょうど私の瞬間に発生しました:)しかし、とにかく感謝! –