应该很快,但我不能为我的生活做出这一点。
我给出了以下字符串:
我通过以下内容加载了日期(?)时间对象:
dt = time.strptime(datestring, '%Y%m%d%H%M%S')
其中datestring是字符串。
从那里,我如何输出以下内容:
我试过了str(dt)
,但是它给了我的全部内容真是奇怪:
time.struct_time(tm_year = 2014,tm_mon = 8,tm_mday = 11,tm_hour = 12, tm_min = 1,tm_sec = 5,tm_wday = 0,tm_yday = 223,tm_isdst = -1)
我做错了什么?到目前为止我向dt
添加的任何内容都会给我attribute does not exist
或其他内容。
答案 0 :(得分:2)
使用time
模块时,它返回时间结构类型。使用datetime
返回日期时间类型。
from datetime import datetime
datestring = '201408110000'
dt = datetime.strptime(datestring, '%Y%m%d%H%M%S')
print dt
2014-08-11 00:00:00
print dt.strftime("%d-%b-%Y")
11-Aug-2014
print dt.strftime("%d-%b-%y")
11-Aug-14
答案 1 :(得分:2)
使用 strftime
>> dt = time.strftime('%d-%b-%Y', dt)
>> print dt
11-Aug-2014
答案 2 :(得分:0)
from datetime import datetime
datestring = "201408110000"
print datetime.strptime(datestring, '%Y%m%d%H%M%S').strftime("%d-%b-%Y")
11-Aug-2014
答案 3 :(得分:0)
如果您正在对各种输入时间格式进行大量解析,请考虑安装和使用dateutil
包。 parser
模块将使用各种时间格式而无需指定,例如这种简洁的" one-liner":
from dateutil import parser
datestring = '201408110000'
print parser.parse(datestring).strftime("%d-%b-%Y")
这使用parser
将日期字符串包含在datetime
中,然后使用datetime.strftime()
重新格式化,不要与time.strftime()
混淆,用于不同的答案。
在https://pypi.python.org/pypi/python-dateutil或python-dateutil标记处查看详情。