比较日期时间中的时间部分 - Python

时间:2013-02-27 05:51:13

标签: python datetime python-2.x

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

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

之间

3 个答案:

答案 0 :(得分:27)

只需调用datetime对象的time()方法即可获得小时,分钟,秒和微秒。

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

答案 1 :(得分:7)

使用datetime.time()比较他们的时间。

答案 2 :(得分: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