【问题标题】:How to format date in asp.net mvc 5如何在 asp.net mvc 5 中格式化日期
【发布时间】:2014-10-11 13:00:41
【问题描述】:

我试图通过在模型类中设置来格式化 asp.net MVC 5 中的日期,但没有得到所需的结果。请查看以下日期:

2010 年 10 月 10 日上午 12:00:00

我想把上面的日期改成以下格式:-

2014 年 10 月 10 日

请在下面查看我的模型类

[DisplayFormat(DataFormatString = "{0:MMM-dd-yyyy}", ApplyFormatInEditMode = true)]
[Required(ErrorMessage = "Date is required")]
 public DateTime? DateOfBirth { get; set; }

上面的代码没有按照要求的格式进行格式化。还可以在下面查看我的代码,其呈现如下表。

foreach (var m in Model)
            {
                <tr style="height: 22px; border-bottom: 1px solid silver">
                    <td style="width: 150px">@m.StudentId</td>
                    <td style="width: 150px">@m.FirstName</td>
                    <td style="width: 150px">@m.LastName</td>
                    <td style="width: 150px">@m.DateOfBirth</td>
                </tr>

所以我也尝试了下面的代码,但仍然无法正常工作。

<td style="width: 150px">@m.DateOfBirth.ToString("MMM/dd/yyyy")</td>

如果我在我的代码中遗漏了 amything,请更正,谢谢

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-5


    【解决方案1】:

    首先应用DisplayFormat 属性[DisplayFormat(DataFormatString = "{0:MMM-dd-yyyy}" 仅在您使用@Html.DisplayFor() 或@Html.Display() 帮助器时才有效。所以你可以使用

    <td style="width: 150px">@Html.DisplayFor(model => m.DateOfBirth)</td>
    

    注意,如果适用,您可能还想使用NullDisplayText="SomeValue"

    其次,DateOfBirth 可以为空,所以如果你不使用帮助器,那么DateOfBirth.ToString("MMM/dd/yyyy") 应该是

    <td style="width: 150px">@(Model.DateOfBirth.HasValue ? Model.DateOfBirth.Value.ToString("MMM-dd-yyyy") : "SomeValue")</td>
    

    【讨论】:

    • 感谢您的精彩解释 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 2010-12-17
    相关资源
    最近更新 更多