我有许多UTC时间戳,格式如下:
2012-04-30T23:08:56+00:00
我想将它们转换为python datetime对象,但遇到了麻烦。
我的代码:
for time in data:
pythondata[i]=datetime.strptime(time,"%y-%m-%dT%H:%M:%S+00:00")
我收到以下错误:
ValueError: time data '2012-03-01T00:05:55+00:00' does not match format '%y-%m-%dT%H:%M:%S+00:00'
看起来我的格式正确,为什么这不起作用?
答案 0 :(得分:8)
将时间格式字符串中的年份标记更改为%Y
:
time = '2012-03-01T00:05:55+00:00'
datetime.strptime(time, "%Y-%m-%dT%H:%M:%S+00:00")
# => datetime.datetime(2012, 3, 1, 0, 5, 55)
答案 1 :(得分:0)
我强烈推荐python-dateutil library,它允许将多个日期时间格式从原始字符串转换为带/不设置时区的日期时间对象
>>> from dateutil.parser import parse
>>> parse('2012-04-30T23:08:56+00:00')
datetime.datetime(2012, 4, 30, 23, 8, 56, tzinfo=tzutc())