解析YYYY/DOY/HHMM格式日期触发ValueError问题求助
解决datetime.strptime解析YYYY/DOY/HHMM格式的报错问题
你的报错核心是格式符使用错误:
- 你用的
%y是匹配两位年份(比如29)的格式符,但输入是四位年份(比如1929、2029),两者不匹配导致报错。 - 四位年份对应的正确格式符是
%Y。
修正后的代码如下:
from datetime import datetime s = "1929/189/1820" res = datetime.strptime(s, "%Y/%j/%H%M") print(res) # 输出结果:1929-07-08 18:20:00
针对报错里的2029/199/1820,用同样格式也能正常解析:
s2 = "2029/199/1820" res2 = datetime.strptime(s2, "%Y/%j/%H%M") print(res2) # 输出结果:2029-07-18 18:20:00
补充各格式符的对应含义:
%Y:四位数字的完整年份(如1929、2029)%j:年积日,三位数字表示一年中的第几天(范围001-366)%H%M:连续的两位小时数+两位分钟数(如1820对应18时20分)
内容的提问来源于stack exchange,提问作者mark
相关产品推荐
相关产品推荐

