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

ASP.NET MVC:如何在Index视图中仅显示日期(不显示时间)?

解决Index视图中DateTime仅显示日期的问题

问题场景

模型代码

public DateTime? FromDate { get;set; }

输入视图代码

<div class="form-group">
    <label class="label other">
        From Date
    </label>
    <div class="col-md-10">
        @Html.EditorFor(model => model.FromDate, new { htmlAttributes = new { @class = "form-control", type = "Date", min = "1944-01-01", max = "2019-01-01" } })
        @Html.ValidationMessageFor(model => model.FromDate, "", new { @class = "text-danger" })
    </div>
</div>

通过日历选择器输入日期后,Index视图中会连带时间(如1/1/2020 12:00:00 AM)显示,需求是仅展示日期部分。

解决方法

方法1:模型层添加格式化特性

在模型属性上标注DisplayFormat,统一控制显示格式:

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = false)]
public DateTime? FromDate { get; set; }

之后在Index视图中使用@Html.DisplayFor(model => model.FromDate),即可自动渲染为纯日期格式。

方法2:视图层直接格式化输出

无需修改模型,直接在视图中对日期值格式化:

@Model.FromDate?.ToString("yyyy-MM-dd")

或者使用String.Format:

@String.Format("{0:yyyy-MM-dd}", Model.FromDate)

注:?.运算符用于处理FromDate为null的情况,避免空引用异常。

方法3:DisplayFor指定格式参数

调用DisplayFor时直接传入格式字符串:

@Html.DisplayFor(model => model.FromDate, "{0:yyyy-MM-dd}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:10:36