Python:raise ValueError(“time data %r does not match format %r“ %

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')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcl119xxcl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值