使用 isinstance 和 type() 时未按预期返回'True'的日期时间对象的类型



我想为函数的参数创建一个检查,使其只有日期时间参数作为字符串!所以我取了一个字符串值,并将其转换为datetime.date对象。。并且使用isistance或type进行的检查是datetime.date..,但它没有按预期返回True。。有人能帮我找出问题吗?

date_format = "%Y%m"
date_string = "202110"
import datetime
date_object = datetime.datetime.strptime(date_string,date_format).date()
print(date_object)
print(type(date_object))
print(type(date_object) is (datetime.date))

通过这种方式导入日期时间模块解决了这个问题。事实上,从datetime导入datetime对python来说是不明确的,因为它会混淆你是指datetime模块还是函数。以上述方式导入它可以消除歧义。你可以在stackoverflow链接上阅读更多关于它的类似问题

虽然我不知道确切的原因,但将其转换为字符串是可行的。

str(type(date_obj)) == "<class 'datetime.date'>"

返回

True

最新更新