日時の時間部分のみを比較したい。比較する時間フィールドのみの異なる日付があります。日付が異なり、時間部分のみを考慮したいので、2つのdatetimeオブジェクトを作成しても役に立たないと思います。私の文字列
start="22:00:00"
End="03:00:00"
Tocompare="23:30:00"
上記は日付時刻としてそれらを変換するときの文字列です
dt=datetime.strptime(start,"%H:%M:%S")
それは与えます
1900-01-01 22:00:00
これはPythonのデフォルトの日付です。だから私はこれをすべて避けて、時間の部分だけを望んでいます。 Tocompare
がstart
とEnd
の間にあるかどうかを確認するだけです
datetime
オブジェクトの.time()
methodを呼び出すだけで、時間、分、秒、マイクロ秒を取得できます。
dt = datetime.strptime(start,"%H:%M:%S").time()
datetime.time() を使用して時間を比較します。
import datetime
start = datetime.datetime.strptime(start, '%H:%M:%S')
start = datetime.time(start.hour, start.minute,start.second)
tocompare = datetime.datetime.strptime(tocompare, '%H:%M:%S')
tocompare = datetime.time(tocompare.hour, tocompare.minute, tocompare.second)
start > tocompare # False