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

ASP.NET中jQuery DateTimePicker去除时间显示问题及替代组件咨询

咱们先解决你当前用的jQuery DateTimePicker v2.4.5的时间问题,之后再给你推荐几个适合ASP.NET的简易替代组件。

修复当前组件的时间插入问题

你的核心问题是选完日期后字段自动带上时间,主要是组件配置参数不匹配,加上DateTime类型默认带时间的特性导致的,按以下步骤调整:

1. 修正JS配置参数

jQuery DateTimePicker v2.4.5里没有dateFormat这个参数,正确的参数名是format。另外要确保JS里的格式和Model的DisplayFormat统一,避免显示混乱。修改后的JS代码:

$("#DateTo").datetimepicker({
    timepicker: false, // 彻底关闭时间选择模块
    format: "d.m.Y", // 和Model中dd.MM.yyyy的格式对应
    closeOnDateSelect: true,
    onSelect: function(dateText) {
        // 强制把输入框值设置为选中的纯日期文本,杜绝时间被自动追加
        $(this).val(dateText);
    }
});

2. 后台处理(可选)

因为你的Model字段是DateTime类型,即使前端传的是纯日期,ASP.NET绑定后还是会带上默认的00:00:00时间。如果业务上不需要这个时间,可以在Controller接收时只保留日期部分:

// 在你的Action方法里
model.DateTo = model.DateTo.Date;
适合ASP.NET的简易替代组件

如果觉得当前组件配置麻烦,推荐几个更省心的选项:

  • 原生HTML5日期输入框(ASP.NET Core首选)
    如果你用的是ASP.NET Core,直接用Tag Helper生成原生日期选择器,不需要额外引入JS/CSS,浏览器原生支持,自动处理Model绑定:

    <div class="form-group">
        @Html.LabelFor(model => model.DateTo, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            <input asp-for="DateTo" type="date" class="form-control" />
            @Html.ValidationMessageFor(model => model.DateTo, "", new { @class = "text-danger" })
        </div>
    </div>
    

    注:原生type="date"的底层格式是yyyy-MM-dd,但ASP.NET会自动处理本地化显示,用户看到的是符合地区习惯的格式。

  • Bootstrap Datepicker
    基于Bootstrap的轻量级日期选择器,只专注日期选择,配置简单易上手:

    $("#DateTo").datepicker({
        format: "dd.mm.yyyy",
        autoclose: true, // 选完日期自动关闭面板
        todayHighlight: true // 高亮显示当天日期
    });
    
  • Flatpickr
    无依赖(不需要jQuery)的现代日期选择器,体积小、性能好,支持多种自定义配置:

    flatpickr("#DateTo", {
        dateFormat: "d.m.Y",
        enableTime: false,
        closeOnSelect: true
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 21:17:30