datetime.datetime 没有属性 "datetime"

datetime.datetime has no attribute "datetime"

我正在尝试使用以下代码确定当前时间是在指定日期之前还是之后:

from datetime import datetime

def presidentvoting(self):
    electiondate = datetime.datetime(2020, 1, 31, 0, 0)
    current_time = datetime.now()
    if current_time > electiondate:
        print("You can no longer vote")

但是我收到了这个错误:

electiondate = datetime.datetime(2020, 1, 31, 0, 0)
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'

我做错了什么?

datetime 是一个包含函数 1 的模块,也称为 datetime.

你可以这样使用它:

import datetime
#      ^^^^^^^^
#      the module

x = datetime.datetime(...)
#            ^^^^^^^^ the function
#   ^^^^^^^^ the module

这里datetime指的是模块,datetime.datetime指的是模块中的函数

或者你只能从模块导入函数,像这样:

from datetime import datetime
#    ^^^^^^^^        ^^^^^^^^
#    the module      the function

x = datetime(...)
#   ^^^^^^^^ the function

您混合使用了这两者,但不起作用:

from datetime import datetime
#    ^^^^^^^^        ^^^^^^^^
#    the module      the function

x = datetime.datetime(...)
#            ^^^^^^^^ this does not exist
#   ^^^^^^^^ the function

以防万一使用

import datetime
from datetime import datetime

然后在第一行之后,datetime 将引用模块(它本身是正确的),但第二行将覆盖它并且 datetime 将不再引用模块,但功能。


1 实际上,datetime.datetime 是一个 class,不是一个函数,但为了这个答案的目的,它并不重要。