Python字符串转日期格式报错:ValueError问题求助
问题排查与解决
错误根源
你的日期格式字符串顺序错误:原日期字符串'2022-12-20 10:18:00+00:00'是年-月-日的结构,但你定义的date_format_str里用了%Y-%d-%m(%d代表日,%m代表月),把日和月的顺序搞反了,导致无法匹配。
修正方案
将格式字符串中的%d和%m调换位置,改成%Y-%m-%d %H:%M:%S%z即可:
from datetime import datetime startdate = '2022-12-20 10:18:00+00:00' date_format_str = "%Y-%m-%d %H:%M:%S%z" starttime = datetime.strptime(startdate, date_format_str) print(starttime) # 输出:2022-12-20 10:18:00+00:00
更简便的写法(Python 3.7+)
如果你的Python版本在3.7及以上,可以直接使用datetime.fromisoformat()方法,无需手动编写格式字符串:
from datetime import datetime startdate = '2022-12-20 10:18:00+00:00' starttime = datetime.fromisoformat(startdate) print(starttime) # 输出:2022-12-20 10:18:00+00:00
内容的提问来源于stack exchange,提问作者amolc
相关产品推荐
相关产品推荐

