我知道有各种类似的帖子。 并且充分意识到strptimestrftime函数。

我的问题有点不同。

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

或类似的将工作,但我宁愿使用原生的东西,如果存在。

谢谢

===============>>#1 票数:4

您可能想要查看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

===============>>#2 票数:0

Python中没有本机日期时间强制转换。 你的小助手功能看起来像一个合理的方法。 请考虑使用isinstance而不是精确类型检查(以允许datetime的子类)。

  ask by sinaiy translate from so

未解决问题?本站智能推荐: