30

我只想比较日期时间中的时间部分。我有不同的日期,只有时间字段可以比较。由于日期不同,我只想考虑时间部分所以我认为创建两个日期时间对象无济于事。我的字符串为

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 回答