在python中以相反的顺序显示给定的日期时间

时间:2015-02-27 06:08:05

标签: python datetime python-2.4

我有一个日期时间戳,如" 2013-12-20 23:40:33"。现在,我的要求是以相反的顺序重新格式化此日期,如:

<seconds><minutes><hr><day><month><year> 
在python中

。请建议

4 个答案:

答案 0 :(得分:4)

将字符串加载到datetime >>> from datetime import datetime >>> datetime.strptime(s, '%Y-%m-%d %H:%M:%S').strftime('%S:%M:%H %d-%m-%Y') '33:40:23 20-12-2013' 对象中,格式为strptime字符串:

{{1}}

答案 1 :(得分:3)

>>> import datetime
>>> datetime.datetime.strptime('2013-12-20 23:40:33', '%Y-%m-%d %H:%M:%S').strftime('%S:%M:%H %d-%m-%Y')
'33:40:23 20-12-2013'

答案 2 :(得分:0)

如果您不需要验证时间字符串:

>>> import re
>>> '<%s>' % '><'.join(re.findall(r'\d+', "2013-12-20 23:40:33")[::-1])
'<33><40><23><20><12><2013>'

比相应的datetime解决方案快6倍:

>>> from datetime import datetime
>>> datetime.strptime("2013-12-20 23:40:33", '%Y-%m-%d %H:%M:%S').strftime('<%S><%M><%H><%d><%m><%Y>')
'<33><40><23><20><12><2013>'

time solution快5倍:

>>> import time
>>> time.strftime('<%S><%M><%H><%d><%m><%Y>', time.strptime("2013-12-20 23:40:33", '%Y-%m-%d %H:%M:%S'))
'<33><40><23><20><12><2013>'

答案 3 :(得分:-1)

d = "2013-12-20 23:40:33"  
date = d[17]+d[18]+":"+d[14]+d[15]+":"+d[11]+d[12]+" "+d[8]+d[9]+"-"+d[5]+d[6]+"-"+d[0]+d[1]+d[2]+d[3]  
print(d)  
print(date)