Python:从字符串中解析ISO 8601日期和时间(使用标准模块)

Del*_*ted 4 python python-2.7

我想解析SVN给出的条目的日期:

svn list --xml https://subversion:8765/svn/Foo/tags/
Run Code Online (Sandbox Code Playgroud)

如果我没有弄错,则使用ISO 8601标准.一个例子是:

dateString = "2012-02-14T11:22:34.593750Z"
Run Code Online (Sandbox Code Playgroud)

我正在使用Python 2.7,我正在寻找最好的处理方法,仅使用标准模块.我想我会用正则表达式解析它:^---是一个匹配组,A表示我会假设它们总是存在(这可能是一个弱点)

dateString = "2012-02-14T11:22:34.593750Z"
              ^--- ^- ^-A^- ^- ^--------A
                        |               |
                        |  I think it always gives the date
                        |  as UTC, which Z means in ISO 8601.
                        |
                 Just a separator
Run Code Online (Sandbox Code Playgroud)

解析之后,我只需从中创建一个日期时间.

有没有更好的方法使用Python 2.7只有标准模块?

Kim*_*ais 7

不需要正则表达式,datetime.datetime.strptime()而是使用.

  • 谢谢!我使用`datetime.datetime.strptime(date_string_to_parse,'%Y-%m-%dT%H:%M:%S.%fZ')`成功解析了它.我没有得到它来解析时区(Z)所以我硬编码它,因为我认为我解析的输出总是将使用Z. (2认同)