谷歌浏览器显示日期格式yyyy-MM-dd而不是dd / MM / yyyy

时间:2017-08-24 01:42:43

标签: c# asp.net asp.net-mvc date-format html5-input-date

指定值"18/08/2017"不符合所需格式yyyy-MM-dd

Google Chrome无法从控制器方法以dd/MM/yyyy格式加载日期。我想将日期加载到日期类型字段中。谷歌Chrome给了我一个警告。我该如何解决这个

指定值"18/08/2017"不符合所需格式yyyy-MM-dd

这是我在视图中的代码

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

2 个答案:

答案 0 :(得分:1)

Chrome想要“yyyy-MM-dd” - > 2017/08/18
你给了铬“dd-MM-yyyy” - > 2017/08/08 您需要为Chrome提供所需的格式。

更改为:

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

答案 1 :(得分:0)

请在您的信息页中写下以下的javascript

<script type="text/jscript">   
    $(function () {
        $.validator.methods.date = function (value, element) {
            if ($.browser.webkit) {

                //ES - Chrome does not use the locale when new Date objects instantiated:
                var d = new Date();

                return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
            }
            else {

                return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
            }
        };
    });

并在视图中写这个

@Html.EditorFor(model => model.DateReceived, "{0:dd/MM/yyyy}", 
 new { @class = "form-control" })