【问题标题】:Display DateTime value in dd/mm/yyyy format in Asp.NET MVC在 Asp.NET MVC 中以 dd/mm/yyyy 格式显示 DateTime 值
【发布时间】:2013-08-19 18:24:10
【问题描述】:

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

型号:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 如果您担心区域格式,可以尝试{0:d}
    • 这会注意,如果您在 IE 窗口中运行页面,它是 google chrome 它自己,您将看不到日期选择器
    【解决方案2】:

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

    你的模型

          [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" 格式。

    【讨论】:

    • 谢谢伙计,除了 web.config 之外,我什么都做,但是当我在我的 web.config 行中添加你的 web.config 行时,它工作得很好
    • 我尝试了你所说的一切,但它总是有一点失败。我猜你没有激活不显眼的 jquery,因为如果你有,它会抛出验证错误,指出该字段不是有效日期,(尝试像 31/01/2014,bcb 1 月 31 日这样的日期。)试试告诉我你是否有同样的问题。谢谢
    • 我刚刚添加了 WebConfig 部分,足以绕过它 - MVC5 Helpers 允许您为日期指定格式,因此可见显示不是问题 - 我被一个隐藏字段卡住了其中包含 AU/GB 日期
    • 试过但不工作,模型已设置,重建,脚本包含在创建视图中,视图为((@Html.TextBoxFor(model => model.startDate, new { htmlAttributes = new { @class= "datepicker" } }))).... 仍然在 IE8 到 IE 11 不工作
    • 这个答案对我有用,但 dateFormat 不起作用,最后我意识到我正在使用 Bootstrap datepicker,它的属性不同,here 是详细信息。
    【解决方案3】:

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

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

    上面的格式当然可以随便改。

    【讨论】:

    • 当服务器期待日期时间并且您提交一些格式化字符串时,您如何解决提交的格式?
    • @David 这节省了我整整一周的时间:)
    • @Muflix 你需要设置StartDate类型为DateTime,mvc会自动转换成DateTime
    【解决方案4】:

    因为问题是“显示”:

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

    【讨论】:

      【解决方案5】:

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

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

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

      【讨论】:

      • 被低估的解决方案
      【解决方案6】:

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

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

      【讨论】:

        【解决方案7】:

        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
        

        【讨论】:

          【解决方案8】:

          我在礼节系统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") })

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-10-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-09-14
            相关资源
            最近更新 更多