python 将字符串隐式转换为日期时间对象

标签 python string datetime date casting

我知道有很多类似的帖子。 并且非常了解 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

或类似的东西会起作用,但我宁愿使用原生的东西(如果存在的话)。

谢谢

最佳答案

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

相关文章:

date - 如何将官方 DateTime 转换为天文精确的 DateTime?

Python pandas - 按行选择

php - mySQL 日期列搞砸了

python - 在 Python 中使用 OR 判断是/否?

c++ - 我想出了错误的结果来计算字符串中的字符

c++ - 在分配给 double 变量后检索字符串 “0.1”

python3.4如何删除模式字符串匹配后的一段文本

c# - 使用 Linq 按日期获取数据

Python 复杂查询

python - 在名称为连续数字的目录中循环