gpt4 book ai didi

python - 检测变量是否为日期时间对象

转载 作者:IT老高 更新时间:2023-10-28 20:23:28 24 4
gpt4 key购买 nike

我有一个变量,我需要知道它是否是一个日期时间对象。

到目前为止,我一直在函数中使用以下 hack 来检测日期时间对象:

if 'datetime.datetime' in str(type(variable)):
print('yes')

但确实应该有一种方法来检测某物是什么类型的对象。就像我能做的那样:

if type(variable) is str: print 'yes'

除了将对象类型的名称转换为字符串并查看字符串是否包含 'datetime.datetime' 之外,还有其他方法吗?

最佳答案

你需要isinstance(variable, datetime.datetime):

>>> import datetime
>>> now = datetime.datetime.now()
>>> isinstance(now, datetime.datetime)
True

更新

正如 Davos 所指出的,datetime.datetimedatetime.date 的子类,这意味着以下内容也可以使用:

>>> isinstance(now, datetime.date)
True

也许最好的方法就是测试类型(如达沃斯所建议的那样):

>>> type(now) is datetime.date
False
>>> type(now) is datetime.datetime
True

Pandas 时间戳

一条评论提到,在 python3.7 中,这个答案中的原始解决方案返回 False (它在 python3.4 中运行良好)。在这种情况下,按照 Davos 的评论,您可以执行以下操作:

>>> type(now) is pandas.Timestamp

如果您想检查项目是否属于 datetime.datetimepandas.Timestamp 类型,只需检查两者

>>> (type(now) is datetime.datetime) or (type(now) is pandas.Timestamp)

关于python - 检测变量是否为日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16991948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com