Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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中分析日期_Python_Python 2.7_Datetime Parsing - Fatal编程技术网

无法在Python中分析日期

无法在Python中分析日期,python,python-2.7,datetime-parsing,Python,Python 2.7,Datetime Parsing,我需要解析日期和时间。以下是我得到的: import time a = time.strptime('Apr 28 2013 23:01', "%b %d %y %H:%M") print a 但它给了我 Traceback (most recent call last): File "/home/aaa/Documents/python_test.py", line 17, in <module> a = time.strptime('Apr 28 2013 23:

我需要解析日期和时间。以下是我得到的:

import time
a = time.strptime('Apr 28 2013 23:01', "%b %d %y %H:%M")
print a 
但它给了我

Traceback (most recent call last):
  File "/home/aaa/Documents/python_test.py", line 17, in <module>
    a = time.strptime('Apr 28 2013 23:01', "%b %d %y %H:%M")
  File "/usr/lib/python2.7/_strptime.py", line 467, in _strptime_time
    return _strptime(data_string, format)[0]
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data 'Apr 28 2013 23:01' does not match format '%b %d %y %H:%M'
回溯(最近一次呼叫最后一次):
文件“/home/aaa/Documents/python_test.py”,第17行,在
a=time.strtime('2013年4月28日23:01',%b%d%y%H:%M)
文件“/usr/lib/python2.7/_strptime.py”,第467行,在_strptime_time
返回时间(数据字符串,格式)[0]
文件“/usr/lib/python2.7/_strtime.py”,第325行,在_strtime中
(数据字符串,格式))
ValueError:时间数据“Apr 28 2013 23:01”与格式“%b%d%y%H:%M”不匹配

我做错了什么?

%y
应该是
%y
四位数的年份

从:


%y
应为
%y
四位数年份

从:

你可以

import time
a = time.strptime('Apr 28 2013 23:01', "%b %d %Y %H:%M")
print time.strftime("%d/%m/%Y",a)
使用
Y
。它后面是一行转换代码,并给出结果

2013年4月28日

你可以

import time
a = time.strptime('Apr 28 2013 23:01', "%b %d %Y %H:%M")
print time.strftime("%d/%m/%Y",a)
使用
Y
。它后面是一行转换代码,并给出结果

2013年4月28日


乔恩的回答当然是正确的,但正如你所注意到的,这些东西可能很难找到

作为调试
strtime
问题的一般建议,我建议使用用于解析的格式字符串打印出已知的
datetime

from datetime import datetime

d = datetime(2013, 4, 28, 23, 1)
print d.strftime("%b %d %y %H:%M")
print 'Apr 28 2013 23:01'
输出行的视觉比较:


快速发现问题,并且在格式字符串正确时也能工作,但您使用的是不同的语言环境(例如,在西班牙语中,它将使用'Abr'而不是'Apr')

Jon的答案当然是正确的,但正如您所注意到的,这些东西可能很难找到

作为调试
strtime
问题的一般建议,我建议使用用于解析的格式字符串打印出已知的
datetime

from datetime import datetime

d = datetime(2013, 4, 28, 23, 1)
print d.strftime("%b %d %y %H:%M")
print 'Apr 28 2013 23:01'
输出行的视觉比较:


快速发现问题,并且在格式字符串正确时也能工作,但您使用的是不同的语言环境(例如,在西班牙语中,它将使用'Abr'而不是'Apr')

我不确定您的意思。我在你的代码中没有看到'April',print语句的输出也没有包含'4'。我不知道你的意思是什么。我在代码中没有看到'April',print语句的输出也不包括'4'。