如果你使用最新的 python (3.2+) simple-date会为你做这样的事情:
>>> from simpledate import *
>>> SimpleDate('2010-04-16 16:51:23.1456')
SimpleDate('2010-04-16 16:51:23.145600', tz='America/Santiago')
>>> SimpleDate('2010-04-16 16:51:23')
SimpleDate('2010-04-16 16:51:23', tz='America/Santiago')
它通过扩展 python 模板格式来工作。所以你也可以写(不需要,因为默认处理类似 ISO8601 的格式):
>>> SimpleDate('2010-04-16 16:51:23', format='Y-m-d H:M:S(.f)?')
SimpleDate('2010-04-16 16:51:23', tz='America/Santiago')
看看小数秒是如何(.f)?
像一个正则表达式 - 意味着它是可选的(另外,如果没有,它将添加 % 符号)。
PS,您可以通过属性访问日期时间。如果您想丢弃 tzinfo (默认情况下取自语言环境 - 我住在智利,因此America/Santiago
在上面)以获得天真的日期时间:
>>> SimpleDate('2010-04-16 16:51:23').naive.datetime
datetime.datetime(2010, 4, 16, 16, 51, 23)