5

2 つの日付の時差を見つけて、時間差を比較したいと考えています。このようなもの、

開始時間 = 2011 年 3 月 10 日 15:45:48 終了時間 = 2011 年 3 月 10 日 18:04:00

そして、timeDifference = abs(StartTime - EndTime) のように差を見つけてから、次のように結果を比較する必要があります。 timeDifference > 6 時間の場合 ...

このメソッドを使用すると、得られた結果は時間形式でした.pythonで時間形式を時間に変更するにはどうすればよいですか?

ありがとうございました、

4

1 に答える 1

12

オブジェクトとして 2 つの日付と時刻があるとしdatetimeます ( datetime.datetimeを参照)。

>>> import datetime
>>> start_time = datetime.datetime(2011,3,10,15,45,48)
>>> end_time = datetime.datetime(2011,3,10,18,4,0)

datetime互いに減算するとオブジェクトが得られ、これを使用して時間差が正であることを確認timedeltaできます。abs

>>> start_time - end_time
datetime.timedelta(-1, 78108)
>>> abs(start_time - end_time)
datetime.timedelta(0, 8292)

ここで、timedelta からの秒の差を時間に変換するには、3600 で割ります。

>>> hours_difference = abs(start_time - end_time).total_seconds() / 3600.0
>>> hours_difference
2.3033333333333332

total_seconds()メソッドはPython 2.7で導入されたので、以前のバージョンでそれが必要な場合は、この回答.daysのように自分で計算する必要があることに注意してください.seconds

更新: Jochen Ritzelは、以下のコメントで、生の値ではなく時間数との比較だけに関心がある場合は、次の方法でより簡単に行うことができると指摘しています。

abs(start_time - end_time) > timedelta(hours=6)
于 2011-04-10T14:14:11.650 に答える