Python时间与正确的格式不匹配

Python时间与正确的格式不匹配,python,Python,我有以下字符串: 2016-04-29T00:00:00+01:00 我想使用Python将其转换为Unix日期时间戳 我尝试将其转换为日期对象: dt = datetime.datetime.strptime(validated_data.get('scheduled_datetime', None), '%Y-%m-%dT%H:%M:%SZ') 但我得到了以下错误: time data '2016-04-29T00:00:00+01:00' does not match format '%

我有以下字符串:

2016-04-29T00:00:00+01:00

我想使用Python将其转换为Unix日期时间戳

我尝试将其转换为日期对象:

dt = datetime.datetime.strptime(validated_data.get('scheduled_datetime', None), '%Y-%m-%dT%H:%M:%SZ')
但我得到了以下错误:

time data '2016-04-29T00:00:00+01:00' does not match format '%Y-%m-%dT%H:%M:%S'
不是一种可以理解的形式。它支持

%z UTC偏移量的形式为+HHMM或-HHMM

但请注意,时区中没有冒号


因此,首先从输入中删除冒号:,然后使用%z。

如果要以特定格式返回当前日期,应使用time.strftime

import time
currentDate = time.strftime('%Y-%m-%dTT%H:%M:%SZ')
无需使用datetime使事情过于复杂


注意:为了获得所需的输出,您可能需要更改某些格式字符。

我怀疑strtime是否支持python 2.7中的%z。您可以升级到Python3版本,也可以使用解析器模块

>>> from dateutil.parser import parse
>>> parse(time_str)
    datetime.datetime(2016, 4, 29, 0, 0, tzinfo=tzoffset(None, 3600))

@user3159253输入错误,应为%Y-%m-%dT%H:%m:%s转换后的数据剩余:+01:00使用%Y-%m-%dT%H:%m:%s,您必须首先更改输入,以便strtime能够理解它。请删除时区日期[:-6]或删除最后一个:。我明白了,我发现在我分析_datetimevalidated_数据时,它可以理解。获取“scheduled_datetime”,使用django.utils.dateparse无需任何内容谢谢
>>> from dateutil.parser import parse
>>> parse(time_str)
    datetime.datetime(2016, 4, 29, 0, 0, tzinfo=tzoffset(None, 3600))