同一型号中的日期格式不同

时间:2013-07-25 10:19:25

标签: c# sql asp.net-mvc-4

您好我正在使用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>

2 个答案:

答案 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")