我正在尝试像这样初始化一个时间对象:
t = datetime.time(0,0,0)
但我收到此错误:
descriptor 'time' requires a 'datetime.datetime' object but received a 'int'
我已经进口了这些东西
import datetime
from datetime import datetime, date, time
import time
它们似乎有点多余,所以我想知道这是否是导致问题的原因
我也在用strptime方法和combine方法
earliest = datetime.combine(earliest, t)
value = datetime.strptime(value, format)
最佳答案
您可以创建不带任何值的对象:
>>> import datetime
>>> datetime.time()
datetime.time(0, 0)
但是,您从模块中导入了 class 日期时间,替换了模块本身:
>>> from datetime import datetime
>>> datetime.time
<method 'time' of 'datetime.datetime' objects>
并且有一个不同的签名:
>>> datetime.time()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: descriptor 'time' of 'datetime.datetime' object needs an argument
>>> datetime.time(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: descriptor 'time' requires a 'datetime.datetime' object but received a 'int'
要么导入整个模块,要么导入包含的类,但不要混搭。坚持:
import datetime
import time
如果您需要这两个模块。
关于python - 如何在 python 中初始化 time() 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291209/