Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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 3.4 strTime()不工作_Python_Datetime_Strptime - Fatal编程技术网

Python 3.4 strTime()不工作

Python 3.4 strTime()不工作,python,datetime,strptime,Python,Datetime,Strptime,我正在尝试将字符串转换为datetime,但它不起作用 self.loadsList[loadID][5] = datetime.strptime( self.loadsList[loadID][5]+" "+self.loadsList[loadID][6], "%x %X %z") 它会引发一个值错误 ValueError: time data '11/08/2014 04:00:00 -0500' does not match format '%x %X %z' 我做错了什么?谢谢 (

我正在尝试将字符串转换为datetime,但它不起作用

self.loadsList[loadID][5] = datetime.strptime(
self.loadsList[loadID][5]+" "+self.loadsList[loadID][6], "%x %X %z")
它会引发一个值错误

ValueError: time data '11/08/2014 04:00:00 -0500' does not match format '%x %X %z'
我做错了什么?谢谢
(Python 3.4)

默认的
%x
格式相当于
%d/%m/%y
,其中
%y
匹配两位数的年份:

您的输入使用4位数的年份:

>>> from datetime import datetime
>>> datetime.strptime('11/08/2014', '%x')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.4/_strptime.py", line 500, in _strptime_datetime
    tt, fraction = _strptime(data_string, format)
  File "/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.4/_strptime.py", line 340, in _strptime
    data_string[found.end():])
ValueError: unconverted data remains: 14
演示:

不清楚您输入的是11月8日还是8月11日;您使用的
%x
建议使用前者,但我怀疑您应该用另一种方式来解释该值:

'%d/%m/%Y %H:%M:%S %z'
另一种选择是将Python语言环境从默认的
C
切换到
en_US
,其中年份将使用4位数字

'%m/%d/%Y %H:%M:%S %z'
>>> datetime.strptime('11/08/2014 04:00:00 -0500', '%m/%d/%Y %H:%M:%S %z')
datetime.datetime(2014, 11, 8, 4, 0, tzinfo=datetime.timezone(datetime.timedelta(-1, 68400)))
'%d/%m/%Y %H:%M:%S %z'