我只想比较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()
方法即可获得它们的小时、分钟、秒和微秒。
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