>我将日期作为字符串,格式为: Sep 07 2014我愿意将其更改为这种格式 dd/mm/yyyy
目前我正在使用此代码,我收到以下错误:
for l in line:
l = l.strip('n').replace('"','')
bl_time = l.split('t')
print bl_time
s = datetime.datetime.strptime(bl_time,"%b %d %Y")
错误:
Traceback (most recent call last):
File "/Users/Documents/scripts/whois.py", line 25, in <module>
s = datetime.datetime.strptime(bl_time,"%b %d %Y")
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data 'bl_date' does not match format '%b %d %Y'
bl_time is :
May 03 2014
Sep 05 2014
and print '"{}"'.format(bl_time) is :
"May 03 2014"
"Sep 05 2014"
有人可以帮忙吗?
参考:
- https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime
- https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
您可以这样做:
import datetime
d = datetime.datetime.strptime("Sep 07 2014", "%b %d %Y")
print d
print d.strftime("%d/%m/%Y")
>>> dt = datetime.datetime.strptime("Sep 07 2014", "%b %d %Y")
>>> dt
datetime.datetime(2014, 9, 7, 0, 0)
>>> dt.strftime("%d/%m/%Y")
'07/09/2014'
这是将您的文本字符串转换为日期时间对象(利用 strptime
),然后使用strftime
根据所需的格式对其进行格式化
我会使用优秀的python-dateutil库:
from dateutil.parser import parse
try:
parse(bl_time).strftime("%m/%d/%Y")
except:
print "could not parse %s" % bl_time