在MVC中仅显示@ Html.DisplayFor()中的日期

时间:2014-10-20 11:14:29

标签: entity-framework asp.net-mvc-5

我在MVC5和EntityFramework中工作,将数据显示在View中。

现在在我看来数据格式是: - 10/22/2014 12:00:00 AM 但我只希望约会: - 2014年10月22日这种格式

我尝试使用此代码,但无效

 @if (item.chekin_on_after != null)
                    { @Html.DisplayFor(modelItem => item.chekin_on_after, "ShortDateTime")}

我也在stackoverflow中关注了一些链接,但没有帮助Date Format using Html.DisplayFor() in MVC5Display only date and no time

3 个答案:

答案 0 :(得分:17)

我没有使用@html.DisplayFor()。而是使用

@Convert.ToString(string.Format("{0:dd/MM/yyyy}", item.chekin_on_after))

它完美无缺。

答案 1 :(得分:3)

尝试在模型类中使用以下属性。

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

希望有所帮助......

答案 2 :(得分:1)

您可以在将数据填充到模型之前在控制器中使用此功能:

public static System.DateTime ParseDate(string value, string style)
{
    DateTime blankDate = default(DateTime);
    if ((value != null & value.Length > 0)) {
        string formattedDate = Strings.Format(Convert.ToDateTime(value), style);
        return formattedDate;
    } else {
        return blankDate;
    }
}

你的价值在哪里:10/22/2014 12:00:00 AM,风格是:"MM/dd/yyyy"或者你想要的东西