You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

datetime对象调用hour()报错'int' object is not callable,如何提取小时?

如何从datetime对象中正确提取小时?

错误原因

dt_obj.hour是datetime.datetime对象的属性而非方法,它本身就是一个整数类型的值,直接访问即可。你给它加了括号(),相当于试图把一个整数当成函数调用,这就触发了TypeError: 'int' object is not callable错误。

原代码

date_format = '%m/%d/%Y %H:%M'
print(date_format)
import datetime as dt

for row in result_list:
    time = row[0]
    print(time)
    dt_obj = dt.datetime.strptime(time, date_format)
    print(type(dt_obj))
    t_hour = dt_obj.hour()
    print(t_hour)

报错信息

%m/%d/%Y %H:%M
8/16/2016 9:55
<class 'datetime.datetime'>
TypeError: 'int' object is not callable

修正后的代码

只需要去掉hour后面的括号:

date_format = '%m/%d/%Y %H:%M'
print(date_format)
import datetime as dt

for row in result_list:
    time = row[0]
    print(time)
    dt_obj = dt.datetime.strptime(time, date_format)
    print(type(dt_obj))
    t_hour = dt_obj.hour  # 去掉括号,直接访问属性
    print(t_hour)

运行后就能正确输出小时数(比如示例中的9)。

内容的提问来源于stack exchange,提问作者Lewis Foggie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 22:39:56