📜  如何在 mvc 视图中仅显示日期时间中的日期 (1)

📅  最后修改于: 2023-12-03 15:08:43.248000             🧑  作者: Mango

如何在 MVC 视图中仅显示日期时间中的日期

在开发 Web 应用程序时,经常需要在视图中显示日期或日期时间。有时候我们只需要显示日期而不需要时间。在 MVC 视图中,可以使用一些方法从日期时间中提取日期并仅显示它。

方法一:使用 @Html.DisplayFor 方法

@Html.DisplayFor 是一个 HTML 辅助方法,可以在视图中显示给定模型的值。通过使用模板,可以控制要显示哪些值以及如何显示它们。可以为日期时间属性创建一个自定义模板,将其转换为日期,然后使用 @Html.DisplayFor 方法在视图中显示日期。

  1. 首先,在视图所在的模型中,为日期时间属性添加 DisplayFormat 特性,并指定其日期格式。例如,我们将日期格式设置为 “yyyy-MM-dd”:
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime MyDateTime { get; set; }
  1. 然后,在 Views/Shared/EditorTemplates 文件夹中创建一个名为 DateTime.cshtml 的文件夹。在文件中,只需要将值转换为日期格式并使用 @Html.DisplayFor 方法将值显示在视图中:
@model DateTime?
@if (Model.HasValue)
{
    @Html.DisplayFor(model => model.Value.Date)
}
  1. 最后,在视图中使用 @Html.DisplayFor 方法并指定要使用的模板:
@Html.DisplayFor(model => model.MyDateTime, "DateTime")
方法二:使用 ToString 方法

另一种方法是直接在视图中使用 ToString 方法,并指定日期格式。这种方法不能将日期格式化为模板,但它更简单且不需要创建自定义模板。

@Model.MyDateTime.ToString("yyyy-MM-dd")
总结

在本文中,我们介绍了两种在 MVC 视图中仅显示日期时间中的日期的方法。使用 @Html.DisplayFor 方法可以将日期格式化为模板,并允许在视图中使用模板。使用 ToString 方法更简单,但不能使用模板或具有相同级别的可重用性。

使用方法应根据实际情况选择。如果需要在多个视图和模型中重复使用,请使用 @Html.DisplayFor 方法和自定义模板。如果只需要在一个视图中显示日期,请使用 ToString 方法。