Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7如何解析格式为2014-05-01 18:10:38-04:00的日期_Python_Python 2.7 - Fatal编程技术网

Python 2.7如何解析格式为2014-05-01 18:10:38-04:00的日期

Python 2.7如何解析格式为2014-05-01 18:10:38-04:00的日期,python,python-2.7,Python,Python 2.7,我正在尝试解析这个datetime字符串,但还没有成功,我如何才能得到它 d = '2014-05-01 18:10:38-04:00' datetime.datetime.strptime(d,'%Y-%m-%d %H:%M:%S-%Z') ValueError: time data '2014-05-01 18:10:38-04:00' does not match format '%Y-%m-%d %H:%M:%S%Z' 你试过iso8601库吗?首先安装它: 然后: 导入iso860

我正在尝试解析这个datetime字符串,但还没有成功,我如何才能得到它

d = '2014-05-01 18:10:38-04:00'
datetime.datetime.strptime(d,'%Y-%m-%d %H:%M:%S-%Z')

ValueError: time data '2014-05-01 18:10:38-04:00' does not match format '%Y-%m-%d %H:%M:%S%Z'

你试过iso8601库吗?首先安装它:

然后:

导入iso8601
mydate='2014-05-01 18:10:38-04:00'
iso8601.解析日期(mydate)
Out[3]:datetime.datetime(2014,5,1,18,10,38,tzinfo=)
您也可以使用模块:

另见:


查看文档,%Z仅与以下内容匹配:(空)、UTC、EST、CST%Z应匹配:(空)、+0000、-0400、+1030。除了在我尝试strtime(“错误指令,格式”)时%z对我不起作用之外。我在文档中看不到任何东西可以处理包含冒号的TZ格式。@jonrsharpe字符串格式不一样。.从这个答案来看,似乎“strTime并不总是支持%z”。%timeit iso8601.parse_date(mydate)是100000个循环,最好是3:12.3个循环,而使用python dateutil的每个循环是71.9个循环,thanks@Goku哦,很好,
iso8601
快多了,谢谢。
    import iso8601
    mydate = '2014-05-01 18:10:38-04:00'
    iso8601.parse_date(mydate)

Out[3]: datetime.datetime(2014, 5, 1, 18, 10, 38, tzinfo=<FixedOffset '-04:00'>)
>>> from dateutil import parser
>>> d = '2014-05-01 18:10:38-04:00'
>>> parser.parse(d)
datetime.datetime(2014, 5, 1, 18, 10, 38, tzinfo=tzoffset(None, -14400))