2013-03-27 19 views
0

我正在开发MVC 3应用程序。 在视图中,我正在显示名称以及创建的日期时间。 它显示为应设置什么日期格式以小写形式显示am/pm?

尼克·莫里斯27月13上午11时49 < -

,但我想在

尼克·莫里斯27-MAR-13显示11:49 am < -

我已经在日期时间属性的部分类中编写了下面的代码行。

[DisplayFormat(DataFormatString = "{0:dd MMM yy hh:mm tt} ")] 
    public System.DateTime CreateDateTime { get; set; } 

和我使用下面的代码查看...

@Html.DisplayFor(ModelItem => item.CommentDateTime.ToString("dddd, MMMM d, yyyy a\\t h:mmtt")) 

什么样的变化我必须在日期格式制作? 它显示错误。

+1

可能的重复[只使用日期时间格式以小写形式获取AM/PM日期时间](http://stackoverflow.com/questions/499393/get-am-pm-for-a-date-time-小写字母只使用一个日期时间格式) – 2013-03-27 06:53:17

+2

以上解决方案根本不起作用...给出错误... – Nil 2013-03-27 07:04:54

+0

看来您在这里有两个问题。为什么你有两种不同的格式,一种在视图模型中,另一种在视图中?你想要哪一个? – ivowiblo 2014-02-11 20:22:36

回答

4

你可以在视图中进行格式化,而无需使用DisplayFor帮手:

@item.CommentDateTime.ToString("dd-MMM-yy hh:mm") @item.CommentDateTime.ToString("tt").ToLower() 

在这种情况下,你不再需要在你的视图模型的DisplayFormat属性。

+0

这实际上是一个很好的解决方案。用这个替换@ Html.DisplayFor'部分 – ivowiblo 2014-02-11 20:23:21