奇怪的Python日期时间导入问题

时间:2011-05-03 14:06:07

标签: python datetime import

您好 我发现这个问题在各种设置上有所不同。 我有以下任何一项工作而其他工作都失败了,有时会发生这种变化(一个设置上的一个片段会失败而另一个设置上的另一个片段会失败)

from datetime import datetime
datetime.datetime.utcnow()


import datetime
datetime.datetime.utcnow()

例如,我刚从2.6升级到python 2.7并且第一个片段在现在错误之前工作正常

Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: type object 'datetime.datetime' has no attribute 'datetime'

这很好,但是相同的代码段在2.6中工作,而第二个代码段失败了。现在它逆转了......

这是一个非常奇怪的问题......

由于 Harel的

3 个答案:

答案 0 :(得分:4)

如果您正在执行from datetime import datetime,则需要使用datetime.utcnow()代替datetime.datetime.utcnow()。我无法看到你的第一个片段如何工作。

>>> from datetime import datetime
>>> datetime.datetime.utcnow()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
>>> datetime.utcnow()
datetime.datetime(2011, 5, 3, 14, 10, 36, 30592)

答案 1 :(得分:4)

此处的其他答案是正确的(导入错误),但这里有一个片段,可以让您更清楚地了解当您这样做时发生的事情。

>>> import datetime
>>> type(datetime)
<class 'module'>
>>> type(datetime.datetime)
<class 'type'>
>>> from datetime import datetime
>>> type(datetime)
<class 'type'>

答案 2 :(得分:0)

你错了。两个版本中的第一个代码段都不正确。