0

我需要转换

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'
4

2 回答 2

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 指令来解析 UTC 偏移量,而不是使用固定字符串+0000

DT.datetime.strptime(thetime, "%Y-%m-%dT%H:%M:%S%z")
于 2013-07-16T21:13:12.533 回答
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'
于 2013-07-16T21:16:28.500 回答