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

datetime.time()调用报错:昨日可用今日为何提示需传入参数?

为何datetime.time()昨日运行正常今日却报TypeError?

昨日调用datetime.time()传入hour和minute参数时运行正常,但今日执行相同代码出现如下TypeError错误,查阅官方文档后仍无法理解原因:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_8068/3836677419.py in <module>
      1 # today=date.today()
      2 # print(today)
----> 3 start=datetime.time(hour=9)
      4 print(start)
      5 end=datetime.time(hour=17, minute=30)

TypeError: unbound method datetime.time() needs an argument

这个错误的核心原因是你当前代码里的datetime指向的是datetime.datetime类,而非标准的datetime模块。

  • 昨天你的代码应该用了import datetime,此时datetime是模块,调用datetime.time()是直接使用模块下的time类,传参后能正常创建时间对象。
  • 今天你可能改成了from datetime import datetime,这时候datetime变成了datetime.datetime这个日期时间类,它的time()是实例方法——必须先创建datetime类的实例才能调用,直接用datetime.time(hour=9)就会触发“未绑定方法需要参数”的错误,因为实例方法默认需要接收self参数,你没传实例,所以报错。

另一种可能:你在代码里不小心给datetime变量赋了其他值(比如把某个日期实例赋值给了datetime),导致它不再指向标准库的模块或类,调用time()时自然出错。

解决方法:

  • 若想继续用datetime.time()的写法,确保导入语句是import datetime;
  • 若用from datetime import datetime,那创建时间对象应该单独导入time类:from datetime import time,然后调用time(hour=9);
  • 检查代码里有没有给datetime变量赋值的语句,避免覆盖标准库对象。

内容的提问来源于stack exchange,提问作者Parham Afsharnia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:15:49