Django日期转换报错:时间数据'selected_date'不匹配格式'%Y-%M-%d'
解决Django中日期转儒略日的格式匹配错误问题
嘿,我一眼就发现你代码里的两个关键问题啦,正是它们导致了这个格式不匹配的报错:
问题1:错误把变量当成字符串传入
你在strptime里写的是"selected_date",这会让Python试图解析字符串字面量"selected_date",而不是你从POST请求里拿到的实际日期值!得去掉引号,直接用变量名。
问题2:日期格式符用错了
你用的%M是用来匹配分钟的格式符,而月份对应的正确格式符是小写的%m。大写%M和你的日期格式完全不匹配,这也是报错的核心原因之一。
修正后的代码片段
def sum_asset_fundmanager(request): if "selectdate" in request.POST: selected_date = request.POST["selectdate"] # 去掉引号,同时把%M改成%m,多余的恒真判断直接删除 convert = datetime.datetime.strptime(selected_date, "%Y-%m-%d").toordinal() # 后续数据计算部分...
另外你原来写的if selected_date==selected_date:完全是多余的,这个判断永远为真,直接删掉就好啦。
内容的提问来源于stack exchange,提问作者saum
相关产品推荐
相关产品推荐

