【python】如何判断一个变量是日期类型,还是日期形式的字符串

开头上结论

如何判断是否为日期型:

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

结果:

 

如何判断是否为日期形式的字符串:

>>> now_str=now.strftime('%Y-%m-%d')
>>> now_str
'2019-11-21'
>>> isinstance(now_str, datetime.datetime)
False
>>> 

 

 

为啥会想到要这样做:

最近遇到一个很奇怪的问题。同样的code,从同样的db里头那一条datetime类型的数据,在生产环境处得到的是日期类型,在开发环境处得到的是字符串。虽然是两套code和db,但无论是code还是db的setup都是完全一样的。

更具体一点,在开发环境中,我必须这样写:

temp['insert_time'] = row['insert_time'].strftime('%Y-%m-%d %H:%M:%S')

但是在生产环境中,我必须这样写:

temp['insert_time'] = row['insert_time'].split('.')[0]

这这这,简直是醉了好伐???

本人才疏学浅,查了好久也没查出来,只好除此下策。

你可能感兴趣的:(python)