【问题标题】:How to fetch just the date from DateTime Entity while iterating an Entity Framework Object如何在迭代实体框架对象时仅从 DateTime 实体中获取日期
【发布时间】:2019-05-03 08:02:08
【问题描述】:

我试图从我在模型中创建的视图中的 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 日星期五1/1/1990。 但输出是 1/1/1990 12:00:00 AM

【问题讨论】:

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


    【解决方案1】:

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

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

    这是其他问题中关于原因的更多详细信息。

    When should I use Html.Displayfor in MVC

    【讨论】:

    • 谢谢你!那行得通。您能帮我以 Word 格式显示日期和月份吗?
    • 什么是word格式?如果你想要一个完整的日期,你可以尝试“dddd MMMM d, yyyy”作为格式字符串
    【解决方案2】:

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

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

    编码愉快! :)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-04
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多