30

日時の時間部分だけを比較したい。比較する時間フィールドのみを持つ異なる日付があります。日付が異なり、考慮したいのは時間の部分だけなので、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落ちるかどうかを確認するだけですstartEnd

4

3 に答える 3

51

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

dt = datetime.strptime(start,"%H:%M:%S").time()
于 2013-02-27T06:11:06.750 に答える
9

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

于 2013-02-27T05:54:52.263 に答える
2
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
于 2013-02-27T06:03:25.763 に答える