使用 list.index() 查找 datetime.date 对象会引发错误

Using list.index() to find datetime.date object throws an error

我有一个包含 datetime.date() 对象的列表。我正在尝试查找特定日期对象的索引。

我试过了 -

>> index = date_obj.index(datetime.date(2009, 1, 31))
>> *** TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'

但是当我尝试这个时它起作用了 -

>> index = date_obj.index(datetime.strptime("2009-01-31","%Y-%m-%d").date())
>> 10

您将 datetime.datetime 导入为 datetime

from datetime import datetime

datetime.date 是基础库的一部分,不是 datetime.datetime

您应该只导入 datetime 并显式使用 datetime.datetimedatetime.date 或使用类似以下内容来避免这些问题。

from datetime import datetime as dt

你可能用过

from datetime import datetime

问题是日期是日期时间库的一部分,而不是来自 datetime.datetime 模块 ;)