您好我正在使用c#
在MVC4中完成我的项目我有一个模特
[DisplayFormat(DataFormatString = "{0:ddd, d MMMM yyyy}")]
public DateTime Eve_Date { get; set; }
从sql数据库中获取日期(日期以db / mm格式存储在db / dd格式中)。我的问题是,我在两个视图页面中显示此日期,一页显示日期为
Sun,2013年8月11日(@ Html.DisplayFor(modelitem => item.Eve_Date))
,另一页显示8/11/2013 12:00:00 AM(@ Model.Eve_Date)。
对于localhost,显示为31-07-2013 PM 05:00:00(@ Model.Eve_Date)。但是在发布时会显示出差异。任何人都可以确定实际问题是什么。我想在所有页面中显示日期格式为Sun,2013年8月11日
第1页是
@model IEnumerable<....Models.EventDetails>
<tbody>
@foreach(var item in Model)
{
<tr><td class="evname"><a href="~/Event/EventDetails/@item.Id">@Html.DisplayFor(modelitem=>item.Eve_NA)</a></td>
<td class="evdate">@Html.DisplayFor(modelitem=>item.Eve_Date)</td>
<td class="evplace">@@@Html.DisplayFor(modelitem=>item.Eve_Place)</td>
</tr>
}
</tbody>
第二页是
@model P.....Models.EventDetails
<tbody>
<tr><th>Event</th><td>@Model.Eve_NA</td><tr>
<tr><th>Date</th><td>@Model.Eve_Date</td></tr>
<tr><th>Venue</th><td>@Model.Eve_Place</td></tr>
<tr><th>Details</th><td><p>@Model.Eve_Desc</p></td></tr>
<tr><th colspan="2" style="color:#3b619b;">For more information, please contact</th></tr>
<tr><th>Contact Person</th><td>@Model.Eve_Contact</td></tr>
<tr><th>Email</th><td>@Model.Eve_Email</td></tr>
<tr><th>Phone</th><td>@Model.Eve_Phone</td></tr>
</tbody>
答案 0 :(得分:0)
我认为@Model.Eve_Date
使用默认日期格式,DisplayFor
使用您在DisplayFormat
属性中指定的格式。
因此,您应该将第二行更改为@Html.DisplayFor(modelitem=>item.Eve_Date)
。
您的系统可以设置为以ddd,d MMMM yyyy格式显示日期。并且服务器可能使用默认的美国格式。这就是为什么它在localhost上是相同的,在服务器上是不同的。
答案 1 :(得分:0)
第二页的格式是
@Model.Eve_Date.ToString("ddd, d MMMM yyyy, hh.mm tt")