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

2024-04-20 10:10:18 发布

您现在位置: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 '%Y-%m-%dT%H:%M:%S'

Tags: 对象字符串nonedatagetdatetimetime错误
3条回答

如果要以特定格式返回当前日期,应该使用时间.strftime(). 你知道吗

import time
currentDate = time.strftime('%Y-%m-%dTT%H:%M:%SZ')

不需要用datetime把事情复杂化。你知道吗

注意:您可能需要更改某些格式字符才能获得所需的输出。你知道吗

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

不是^{}可以理解的形式。它支持

%z UTC offset in the form +HHMM or -HHMM

但是请注意,时区中没有冒号:!你知道吗

所以首先从输入中删除冒号:,然后使用%z。你知道吗

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

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

相关问题 更多 >