77

是否可以在方法的帮助下以dd/mm/yyyyDateTime格式显示值?我尝试通过使用一些格式并向相关属性添加一些注释来做到这一点,如下所示,但这没有任何意义。任何解决此问题的帮助将不胜感激。HTML HelperAsp.NET MVC@Html.LabelFor

模型:

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

8 回答 8

86

您所要做的就是在 html 助手调用中应用您想要的格式,即。

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

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

于 2013-08-18T16:05:08.037 回答
62

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

你的模型

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

剃刀页面

     @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>

网络配置文件

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

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

于 2013-09-01T12:54:15.093 回答
12

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

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

上述格式当然可以更改为任何格式。

于 2014-12-23T13:25:18.363 回答
9

由于问题是“显示”:

@Html.ValueFor(model => model.RegistrationDate, "{0:dd/MM/yyyy}")
于 2017-03-13T21:23:52.493 回答
6

或者只是在您的视图中使用它(剃刀页面)

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

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

于 2017-04-14T13:39:41.333 回答
2

您需要使用 html helper,并且您不需要在模型类中提供日期格式。前任 :

@Html.TextBoxFor(m => m.ResgistrationhaseDate, "{0:dd/MM/yyyy}")
于 2016-02-21T21:02:46.920 回答
2

在2019 年回答这个问题可能为时已晚。但我尝试了所有答案,但没有一个对我有用。所以我以这种方式简单地解决了它:

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

EditorFor对我有用。

请注意,这SellDateForInstallment是一个Nullable日期时间对象。

public DateTime? SellDateForInstallment { get; set; } // Model property
于 2019-09-07T16:33:28.027 回答
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") })

于 2021-04-04T04:36:21.280 回答