python时间转换为适当的时间格式

时间:2013-07-16 21:05:19

标签: python time

我需要转换

u'2013-07-16T16:14:34+0000'

July 16, 2013 4:14 pm

有没有办法在python中执行此操作?

我得到了这个,但这不对:

>>> from datetime import *
>>> from time import *
>>> thetime = u'2013-07-16T16:14:34+0000'
>>> finaltime = datetime(*strptime(s, "%Y-%m-%dT%H:%M:%S+0000")[0:6]).strftime('%m-%d-%Y  %H:%M')
'07-16-2013  16:14'

2 个答案:

答案 0 :(得分:4)

您可以使用返回日期时间对象的time.strptime,而不是使用返回时间元组的datetime.strptime

import datetime as DT
thetime = '2013-07-16T16:14:34+0000'
finaltime = DT.datetime.strptime(thetime, "%Y-%m-%dT%H:%M:%S+0000").strftime('%B %d, %Y %I:%M %p')
print(finaltime)

产量

July 16, 2013 04:14 PM

使用Python2.7.5或更高版本,您还可以使用%z directive来解析UTC偏移量,而不是使用固定字符串+0000

DT.datetime.strptime(thetime, "%Y-%m-%dT%H:%M:%S%z")

答案 1 :(得分:3)

>>> datetime(*strptime(s, "%Y-%m-%dT%H:%M:%S+0000")[0:6]).strftime("%B %d, %Y %I:%M %p")
'July 16, 2013 04:14 PM'