Traceback (most recent call last):
File "C:/Users/ACER/test.py", line 202, in <module>
starttime = datetime.strptime(my_date_string, '%b %d %I:%M:%S %Y')
File "D:\Miniconda3\lib\_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "D:\Miniconda3\lib\_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data 'Jun 12 15:56:50 2023' does not match format '%b %d %I:%M:%S %Y'
做时间转换时报错,分析了半天,发现是匹配的format参数问题
原来错误的是
'%b %d %I:%M:%S %Y'
在12小时进制时没有问题,但是如果有24小时的,就会报错
将I%改成H%,问题解决
修改后:
body = '<12>Jun 12 15:56:50 #'
print(len(body.split("#")))
tmp = body.split("#")
time_t = tmp[0].split()
my_date_string = time_t[0][time_t[0].index(">") + 1:] + " " + time_t[1] + " " + time_t[2] + " " + str(
datetime.now().year)
print("datetime:"+my_date_string)
starttime = datetime.strptime(my_date_string, '%b %d %H:%M:%S %Y')