ASP MVC更改显示日期时间格式

时间:2016-04-14 20:24:12

标签: c# asp.net-mvc datetime razor

我的日期显示为dd / mm / yyyy。我希望它显示为yyyy-mm-dd。

 @Html.EditorFor(x=> x.DateChosen, new { htmlAttributes = new { @id = "choosetime" } })

我已经尝试了

  @Html.EditorFor(x=> x.DateChosen, new { htmlAttributes = new { @id =     "choosetime", "{0:dd/MM/yyyy}" } })

1 个答案:

答案 0 :(得分:0)

您要找的是DisplayFormatAttribute

public class MyModel 
{
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    public DateTime DateChosen { get; set; }

    // Other properties goes there
}

使用你的Html帮助:

 @Html.EditorFor(x=> x.DateChosen, new { htmlAttributes = new { @id = "choosetime" } })

编辑1:

根据评论,如果您需要访问代码中其他位置的DateChosen属性的字符串表示形式,您可以更新您的模型:

public class MyModel 
{
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    public DateTime DateChosen { get; set; }

    public string DateChosenString
    {
        return DateChosen.ToString("yyyy-MM-dd");
    }     

    // Other properties goes there
}