2024-04-27 00:25:05 发布
网友
我有以下格式的字符串时间
2016-12-10T13:54:15.294
我正在使用以下方法格式化时间:
time.strptime(ts, '%b %d %H:%M:%S %Y')
会引发错误:time data did not match format: data=2016-12-10T13:54:15.294 fmt=%a %b %d %H:%M:%S %Y
time data did not match format: data=2016-12-10T13:54:15.294 fmt=%a %b %d %H:%M:%S %Y
你知道我错在哪里吗?
我认为字符串中指定的日期格式不正确。这应该有效:
import datetime a = '2016-12-10T13:54:15.294' b= datetime.datetime.strptime(a,'%Y-%m-%dT%H:%M:%S.%f') print b
首先需要将字符串解析为其格式,然后按所需方式打印出来。
>>> import datetime >>> ts = "2016-12-10T13:54:15.294" >>> parsed = datetime.datetime.strptime(ts, '%Y-%m-%dT%H:%M:%S.%f') >>> parsed datetime.datetime(2016, 12, 10, 13, 54, 15, 294000) >>> parsed.strftime('%b %d %H:%M:%S %Y') 'Dec 10 13:54:15 2016'
错误没有错,格式字符串甚至不接近您要分析的字符串。
您有{year}-{month}-{day}T{hour}:{minute}:{second}.{milliseconds},但试图用{weekday name} {month name} {day} {hour}:{minute}:{second} {year}来解析它。你是从什么地方抄来的吗?
{year}-{month}-{day}T{hour}:{minute}:{second}.{milliseconds}
{weekday name} {month name} {day} {hour}:{minute}:{second} {year}
According to the documentation,格式字符串应该更像%Y-%m-%dT%H:%M:%S.%f。
%Y-%m-%dT%H:%M:%S.%f
>>> time.strptime('2016-12-10T13:54:15.294', '%Y-%m-%dT%H:%M:%S.%f') time.struct_time(tm_year=2016, tm_mon=12, tm_mday=10, tm_hour=13, tm_min=54, tm_sec=15, tm_wday=5, tm_yday=345, tm_isdst=-1)
我认为字符串中指定的日期格式不正确。这应该有效:
首先需要将字符串解析为其格式,然后按所需方式打印出来。
错误没有错,格式字符串甚至不接近您要分析的字符串。
您有
{year}-{month}-{day}T{hour}:{minute}:{second}.{milliseconds}
,但试图用{weekday name} {month name} {day} {hour}:{minute}:{second} {year}
来解析它。你是从什么地方抄来的吗?According to the documentation,格式字符串应该更像
%Y-%m-%dT%H:%M:%S.%f
。相关问题 更多 >
编程相关推荐