0

嗨,我正在使用 C# 在 MVC4 中做我的项目

我有一个模型

         [DisplayFormat(DataFormatString = "{0:ddd, d MMMM yyyy}")]
          public DateTime Eve_Date { get; set; }

从 sql 数据库中获取日期(日期以带时间的 mm/dd/yy 格式存储在 db 中)。我的问题是,我在两个视图页面中显示此日期,一页显示日期为

2013 年 8 月 11 日,星期日 (@Html.DisplayFor(modelitem=>item.Eve_Date))

另一个页面显示 8/11/2013 12:00:00 AM(@Model.Eve_Date)。

对于显示为 31-07-2013 PM 05:00:00(@Model.Eve_Date) 的 localhost。但是当发布时,差异就会显示出来。任何人都可以确定实际问题是什么。我想将所有页面中的日期显示为 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>
4

2 回答 2

0

第二页的格式是

 @Model.Eve_Date.ToString("ddd, d MMMM yyyy, hh.mm tt")
于 2013-07-25T11:07:57.337 回答
0

我认为@Model.Eve_Date使用默认日期格式并DisplayFor使用您在DisplayFormat属性中指定的格式。

因此,您也应该将第二行更改@Html.DisplayFor(modelitem=>item.Eve_Date)为。

您的系统可以设置为以 ddd、d MMMM yyyy 格式显示日期。并且服务器可能正在使用默认的美国格式。这就是为什么它在本地主机上相同而在服务器上不同的原因。

于 2013-07-25T10:22:14.707 回答