如何在迭代实体框架对象时仅从DateTime实体获取日期

时间:2019-05-03 08:02:08

标签: c# asp.net-mvc entity-framework

我试图仅从我在模型中创建的视图中的DateTime实体中获取日期。而是显示整个DateTime格式

我添加了一个注释[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString =“ {0:MM / dd / yyyy}”)],但问题仍然存在。

//Models: 
 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
        public DateTime? BirthDate { get; set; }


//Adding Migration, it processed it as: 
BirthDate = table.Column<DateTime>(nullable: false)


//Index View: 
@foreach(var customers in Model)
{
 @customers.BrithDate
}

我希望输出至少在 1990年1月1日星期五 1990年1月1日。 但是输出是 1990年1月1日上午12:00:00

2 个答案:

答案 0 :(得分:0)

问题是您正在直接输出模型值。如果要使用显示格式,则应改用以下帮助程序。

@Html.DisplayFor(m => customers.BirthDate)

这是另一个关于原因的详细信息。

When should I use Html.Displayfor in MVC

答案 1 :(得分:0)

您必须说出要使用的数据类型。 我认为这应该可以解决您的问题:

 [DataType(DataType.Date)]
 [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
 public DateTime? BirthDate { get; set; }

祝您编程愉快! :)