You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML date类型输入提交值对应的Python变量类型是什么?

结论

如果不对提交的表单值做类型转换直接比较,var必须是YYYY-MM-DD格式的字符串类型。如果需要做日期逻辑判断(比如比较先后、计算日期间隔),建议先转成日期类型再比较。


详细说明

  1. 表单提交的默认值类型
    HTML中type="date"的input控件提交的内容,默认是符合YYYY-MM-DD格式的字符串,所以通过request.form.get("date")拿到的date变量本身就是字符串类型,直接做相等比较的话,var也要是相同格式的字符串,示例如下:
# 直接字符串比较示例
var = "2024-06-01"
date = request.form.get("date")
if date == var:
    # 对应逻辑处理
  1. 现有代码问题提示
    你当前的input标签缺少name="date"属性,后端无法通过request.form.get("date")拿到对应值,需要修改表单代码:
<form action="" method="post">
    <label for="date">Choose a date:</label>
    <input type="date" id="date" name="date">
    <button type="submit">Submit</button>
</form>
  1. 日期逻辑比较的推荐写法
    如果需要做大于、小于这类日期先后判断,建议把字符串转成datetime.date类型再操作,这时候var也需要是datetime.date类型:
from datetime import datetime

date_str = request.form.get("date")
# 把提交的字符串转成date类型
date_obj = datetime.strptime(date_str, "%Y-%m-%d").date()
# var也使用date类型
var = datetime(2024,6,1).date()
if date_obj == var:
    # 相等逻辑处理
if date_obj > var:
    # 也可以直接做日期先后比较

内容的提问来源于stack exchange,提问作者Spyromancer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:39:05