【发布时间】:2023-03-13 01:25:01
【问题描述】:
我只想在页面上显示日期。
SQL 列的类型为 date。
型号
public System.DateTime EndDate { get; set; }
查看
@Html.DisplayFor(modelItem => item.EndDate.Date)
这不会给我任何警告或错误,但是页面上仍然显示时间。
【问题讨论】:
标签: c# datetime asp.net-mvc-4 razor
我只想在页面上显示日期。
SQL 列的类型为 date。
型号
public System.DateTime EndDate { get; set; }
查看
@Html.DisplayFor(modelItem => item.EndDate.Date)
这不会给我任何警告或错误,但是页面上仍然显示时间。
【问题讨论】:
标签: c# datetime asp.net-mvc-4 razor
DateTime.Date 返回 DateTime 的新实例,其中时间组件设置为午夜(而不是完全删除时间),它仅用于标准化日期/时间值,不用于显示目的。
反正不用DisplayFor,直接渲染日期即可:
@item.EndDate.ToString("yyyy-MM-dd")
【讨论】:
您可以使用Date.ToShortDateString() 或使用custom date/time string format。
ToShortDateString() 的好处是它具有文化敏感性,使您的应用程序更易于访问。
如果您想使用 Html.DisplayFor 模板助手,那么您可能需要构建一个 ShortDateTime.cshtml 显示模板。在此处了解更多信息: https://stackoverflow.com/a/6001836/941058
【讨论】:
试试ToString() 日期格式化程序:
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
例子:
@Html.DisplayFor(modelItem => item.EndDate.Date.ToString("MMMM dd, yyyy")
【讨论】: