无法在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'。