如何在 MVC 3 中更改日期时间格式

本文关键字:日期 时间 格式 MVC | 更新日期: 2023-09-27 18:32:49

我有代码。

    [Required(ErrorMessage = "Bạn hãy nhập ngày tháng năm sinh")]
    [DataType(DataType.Date, ErrorMessage = "Ngày tháng năm sinh không chính xác, bạn hãy nhập lại")]
    [ValidationHelper.DateFormat(ErrorMessage = "Ngày tháng năm sinh không chính xác, bạn hãy nhập lại")]
    [DisplayFormat(DataFormatString = "{MM/dd/yyyy}")]
    [Display(Name = "Ngày sinh")]
    public System.DateTime DateOfBirth { get; set; }

视图

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

@using (Html.BeginForm((string)ViewBag.FormAction, "Account"))
{
    <fieldset>
        <legend>Registration Form</legend>
        <ol>
            <li>
                @Html.LabelFor(m => m.DateOfBirth)
                @Html.EditorFor(m => m.DateOfBirth)
                @Html.ValidationMessageFor(m => m.DateOfBirth)
            </li>
        </ol>
    </fieldset>
}

当我输入 05/31/2012 => 值"05/31/2012"对 Ngày cấp CMT 无效。当我输入 31/05/2012 =>字段 Ngày cấp CMT 必须是日期。这是怎么回事?我来自越南。我的英语很差,但请帮助我!非常感谢!我的本地日期格式 yyyy/月/日

如何在 MVC 3 中更改日期时间格式

尝试:

@item.Date.ToString("dd MMM yyyy")

或者,您可以在视图模型上使用 [DisplayFormat] 属性:

[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
pubilc DateTime Date { get; set }

在您看来,只需

@Html.DisplayFor(x => x.Date)

要使DisplayFormatEditorFor 一起使用,您需要添加ApplyFormatInEditMode,如下所示:

[DisplayFormat(DataFormatString="{0:MM/dd/yyyy}", ApplyFormatInEditMode=true)]

似乎有日期的显示格式:

[DisplayFormat(DataFormatString = "{MM/dd/yyyy}")]

如果您希望 31/05/2012 成为日期,可以将显示格式更改为:

[DisplayFormat(DataFormatString = "{dd/MM/yyyy}")]