在Asp.NET MVC中以dd / mm / yyyy格式显示DateTime值

时间:2013-08-17 12:12:52

标签: asp.net-mvc asp.net-mvc-4 datetime datetime-format

是否可以借助DateTime中的HTML Hepler方法以 dd / mm / yyyy 格式显示Asp.NET MVC值?我尝试通过在@Html.LabelFor中使用某些格式并在相关属性中添加一些注释(如下所示)来实现此目的,但这没有任何意义。任何帮助解决这个问题都将不胜感激。

型号:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> RegistrationDate { get; set; }

8 个答案:

答案 0 :(得分:78)

您所要做的就是在html帮助程序调用中应用您想要的格式,即

@Html.TextBoxFor(m => m.RegistrationDate, "{0:dd/MM/yyyy}")

您无需在模型类中提供日期格式。

答案 1 :(得分:50)

经过几个小时的搜索,我刚刚用几行代码解决了这个问题

您的模型

      [Required(ErrorMessage = "Enter the issued date.")]
      [DataType(DataType.Date)]
      public DateTime IssueDate { get; set; }

Razor Page

     @Html.TextBoxFor(model => model.IssueDate)
     @Html.ValidationMessageFor(model => model.IssueDate)

Jquery DatePicker

<script type="text/javascript">
    $(document).ready(function () {
        $('#IssueDate').datepicker({
            dateFormat: "dd/mm/yy",
            showStatus: true,
            showWeeks: true,
            currentText: 'Now',
            autoSize: true,
            gotoCurrent: true,
            showAnim: 'blind',
            highlightWeek: true
        });
    });
</script>

Webconfig文件

    <system.web>
        <globalization uiCulture="en" culture="en-GB"/>
    </system.web>

现在,您的文本框将接受“dd / MM / yyyy”格式。

答案 2 :(得分:9)

我知道这是一个较旧的问题,但作为参考,一种非常简单的格式化日期的方法,没有任何数据注释或任何其他设置如下:

@Html.TextBoxFor(m => m.StartDate, new { @Value = Model.StartDate.ToString("dd-MMM-yyyy") })

上述格式当然可以改为。

答案 3 :(得分:6)

因为问题是&#34;显示&#34; :

@Html.ValueFor(model => model.RegistrationDate, "{0:dd/MM/yyyy}")

答案 4 :(得分:6)

或者只在视图中使用它(Razor页面)

@item.ResgistrationhaseDate.ToString(string.Format("dd/MM/yyyy"))

我建议不要在模型类中添加日期格式

答案 5 :(得分:2)

您需要使用html帮助程序,而不需要在模型类中提供日期格式。 e.x:

@Html.TextBoxFor(m => m.ResgistrationhaseDate, "{0:dd/MM/yyyy}")

答案 6 :(得分:0)

2019 中回答这个问题可能为时已晚。但我尝试了所有答案,但没有一个对我有用。因此,我以这种方式解决了这个问题:

@Html.EditorFor(m => m.SellDateForInstallment, "{0:dd/MM/yyyy}", 
               new {htmlAttributes = new { @class = "form-control", @type = "date" } })

EditorFor对我有用。

请注意,SellDateForInstallmentNullable日期时间对象。

public DateTime? SellDateForInstallment { get; set; } // Model property

答案 7 :(得分:0)

我在礼仪系统web里面的“Web.config”中做了一个全局配置:

全球化 uiCulture="en"culture="en-US

在 CsHtml 中: @Html.TextBoxFor(model => model.fechaConfirmacion, new { @type = "date", @Value = Model.fechaConfirmacion.ToString("MM/dd/yyyy hh:mm:sszzz") })