仅比较datetime中的时间部分 - Python

39 投票
3 回答
74517 浏览
提问于 2025-04-17 17:16

我想比较日期时间中的时间部分。我有不同的日期,但只想比较时间。因为日期不同,所以我认为创建两个日期时间对象没有什么用。

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

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

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。

10

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

59

只需要调用 datetime 对象的 .time() 方法,就可以获取它们的小时、分钟、秒和微秒。

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

撰写回答