TextBox 中的日期格式为 dd/MM/yyyyFor type date

Pie*_*rry 5 html datetime date asp.net-mvc-5

我正在开发一个需要引入日期来创建许多对象的项目。

\n\n

当我在 Chrome 上测试时,没有问题。问题是当我在 Firefox 或 Internet Explorer 上运行它时。

\n\n

例如,在 Chrome 上我使用这一行(它工作正常并显示日期选择器):

\n\n
@Html.TextBoxFor(model => model.DateReception, new { style = "font-family: \'AvenirLTStd-Light\'; font-size: 15px; font-weight: bold; font-style: normal; color: black;", id = "DateReception", type = "date", min = "2016-01-01", required = "true", @class = "col-sm-10" })\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于其他浏览器,日期选择器不会显示,所以我使用这一行:

\n\n
@Html.TextBoxFor(model => model.DateReception, "{0:dd/MM/yyyy}", new { style = "font-family: \'AvenirLTStd-Light\'; font-size: 15px; font-weight: bold; font-style: normal; color: black;", id = "DateReceptionOther", type = "date", required = "true", @class = "numbersOnly col-sm-10" })\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是,当涉及到验证模型并将其传递给控制器​​时,这不起作用......浏览器希望我将日期设置为“MM/dd/yyy”格式,但我需要“dd” /MM/yyyy”格式。

\n\n

为此,我{0:dd/MM/yyyy}在之前添加了 html 行,我的模型如下所示:

\n\n
[Display(Name = "Date de r\xc3\xa9ception :")]\n[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]\npublic DateTime? DateReception { get; set; }\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的网页上有一张错误图片(2016 年 12 月 25 日不起作用,而 2016 年 12 月 12 日起作用)

\n\n

错误示例

\n

小智 1

你发现被放到了web.config下

<system.web>
    <globalization culture='auto' uiCulture='auto'/>
</system.web>
Run Code Online (Sandbox Code Playgroud)

en-US:M/d/yyyy(例如 mm/dd/yyyy)

en-GB: dd/MM/yyyy(例如 dd/mm/yyyy)