首页 > 解决方案 > Python如何用时区解析日期时间?

问题描述

我正在尝试使用 datetime.strptime 解析以下日期时间值:

d = datetime.datetime.strptime('2018-03-26T18:00:00+01:00', "%Y-%m-%dT%H:%M:%Sz")

但收到此错误:

ValueError: time data '2018-03-26T18:00:00+01:00' does not match format '%Y-%m-%dT%H:%M:%S%Z'

根据我对文档的阅读,%z应该等于 UTC 偏移量,但是如果我将格式字符串更改为 end %S%z,我会得到一个不同的错误:

ValueError: 'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S%z'

虽然这个问题已被标记为重复,但我不同意。我正在使用 Python 2.7,如上所述,它不接受%zTZ 格式选项,因此评论中提到的方法对我不起作用。我终于通过使用dateutil这篇文章中提到的模块解决了这个问题:ISO to datetime object: 'z' is a bad directive

因此,我想解决我自己的问题,尽管这似乎是不可能的,因为该问题已被标记为重复。

标签: pythondatetime

解决方案


推荐阅读