📌  相关文章
📜  AttributeError: 'Timedelta' 对象没有属性 'minutes' - Python (1)

📅  最后修改于: 2023-12-03 14:59:25.113000             🧑  作者: Mango

AttributeError: 'Timedelta' object has no attribute 'minutes' - Python

当你看到 AttributeError: 'Timedelta' object has no attribute 'minutes' 这个错误时,说明你在尝试使用 minutes 属性来访问一个 Timedelta 对象,但是 Timedelta 对象并没有该属性。

原因

Timedelta 对象表示一段时间间隔,由一些时间单位(例如天、小时、分钟、秒等)组成。无论何时,都不能直接从 Timedelta 对象中访问特定单位的值,如 minuteshoursdays 等。

解决方法

如果你要获取特定时间单位的值,你可以使用 Timedelta 对象的total_seconds() 方法,然后根据需要将其转换为分钟、小时或天。例如:

import datetime

td = datetime.timedelta(hours=2, minutes=30)
total_minutes = td.total_seconds() / 60
print(total_minutes)  # 输出:150.0

在上述例子中,我们创建了一个 Timedelta 对象表示 2 小时 30 分钟的时间间隔,并使用 total_seconds() 方法获取总秒数,然后将其转换为总分钟数。

它将输出 150,即为 2*60 + 30

因此,在开发过程中,确保不要试图尝试直接从 Timedelta 对象中访问特定的时间单位。使用 total_seconds() 方法来获取总秒数,并进行必要的单位转换。