我正在尝试初始化一个时间对象,如下所示:
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方法和组合方法。
earliest = datetime.combine(earliest, t)
value = datetime.strptime(value, format)发布于 2012-09-06 07:44:49
您可以创建不带任何值的对象:
>>> import datetime
>>> datetime.time()
datetime.time(0, 0)但是,您从模块导入了datetime类,替换了模块本身:
>>> 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如果您需要这两个模块。
发布于 2012-09-06 07:47:39
time的构造函数是:
class datetime.time(hour[, minute[, second[, microsecond[, tzinfo]]]])(来自http://docs.python.org/library/datetime.html#time-objects)
这对我来说很有效:
In [1]: import datetime
In [2]: t = datetime.time(0, 0, 0)
In [3]: print t
00:00:00发布于 2012-09-06 07:45:18
这是因为你正在import一个来自datetime的冲突的datetime。您可能指的是time,除非您还在import一个冲突的time。那么我们来看看:
import datetime as dt和
t = dt.time(0, 0, 0)https://stackoverflow.com/questions/12291209
复制相似问题