我知道有很多类似的帖子。
并且非常了解 strptime
和 strftime
函数。
我的问题有点不同。
在 python 中将字符串隐式转换为日期/日期对象的最简单方法是什么。
或者明确地说,一个函数将接受表示日期或日期对象的字符串。
类似于 SQL date_object = 'string_of_date'
我猜的
cast_date=lambda x:x if type(x)=='datetime' else strptime(x,'%%%')#dosen't really work
cast_date=lambda x:strptime(str(x),'%%%') #edit
或类似的东西会起作用,但我宁愿使用原生的东西(如果存在的话)。
谢谢
最佳答案
您可能想查看 dateutil模块。它有一个很棒的日期时间解析器。
>>> from dateutil.parser import parse
>>> print parse("1:00PM")
2011-12-11 13:00:00
>>> print parse("1/1/2008")
2008-01-01 00:00:00
>>> print type(parse("1/1/2008"))
<type 'datetime.datetime'>
将它与这样的类型检查结合起来:
my_datetime = parse(item) if isinstance(item, str) or isinstance(item, unicode) else item
关于python 将字符串隐式转换为日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8466499/