即使格式化,时间也显示错误

时间:2017-07-28 03:51:21

标签: c# asp.net time

我正在尝试格式化时间。我想以HH:mm格式显示。我将一个字典传递给我的视图,其中包含一个DateTime对象列表。它有这种格式:

var mapMovies = new Dictionary<string, List<DateTime>>();

非常简单。在我看来这样做:

foreach(var time in movie.Value)
{
    @Html.DisplayFor(modelItem => time.ToString("{0:HH:mm}"))
}

当达到这一点时,我知道"Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions."例外。删除ToString(“{0:HH:mm}”)它以{0:dd / MM / yyyy HH:mm}格式显示不正确 对我来说,这是一个奇怪的事情再次格式化,因为在我的模型中我已经这样做了:

[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm}")]
public DateTime SessionTime { get; set; }

如果我已经定义了我想要在模型中显示的方式,为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

采用的解决方案是在控制器中格式化时间

mapMovies[s.Movie.MovieName].Add(s.SessionTime.ToString("HH:mm"));