在Python中表示不含日期的时间结构

5 投票
2 回答
2601 浏览
提问于 2025-04-18 03:44

在Python中,有没有一种数据结构可以只表示小时、分钟和秒,而不包含其他信息?如果没有,那在我的情况下,使用什么结构比较好呢?

2 个回答

9

datetime模块提供了几种类型来表示日期和时间,其中datetime.time()对象可能正好符合你的需求:

from datetime import time

afternoon_tea = time(16, 30)

如果你想表示持续时间,可以使用datetime.timedelta()对象;这些对象可以用来调整datetime.date()datetime.datetime()对象:

from datetime import timedelta

halfday = timedelta(hours=12)

你也可以简单地用一个整数来表示时间,这个整数代表秒数:

onehour = 60

这一切都取决于你的具体使用场景,但很遗憾你在问题中没有提到这些。

3

为什么不直接使用 datetime 模块及其相关功能呢:

from datetime import datetime
my_time = '05:43:34'

my_time = datetime.strptime('%H:%M:%S', my_time)

这样你就可以简单地做一些事情,比如:

>>> my_time.hour
5

>>> my_time.minute
43

>>> my_time.second
34

撰写回答