web-dev-qa-db-ja.com

日時の時間部分のみを比較する-Python

日時の時間部分のみを比較したい。比較する時間フィールドのみの異なる日付があります。日付が異なり、時間部分のみを考慮したいので、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のデフォルトの日付です。だから私はこれをすべて避けて、時間の部分だけを望んでいます。 TocomparestartEndの間にあるかどうかを確認するだけです

23
Amit K.

datetimeオブジェクトの.time()methodを呼び出すだけで、時間、分、秒、マイクロ秒を取得できます。

dt = datetime.strptime(start,"%H:%M:%S").time()
36
matt

datetime.time() を使用して時間を比較します。

8
jarmod
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
2
Yueyoum