ASP.NET MVC4日期格式为dd-mm-yyyy

时间:2015-01-05 14:25:07

标签: jquery asp.net asp.net-mvc asp.net-mvc-4

我的模型中有以下代码;

 [DataType(DataType.Date)]
 [DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode=true)]    
 public DateTime? StartProject { get; set; }        

在我看来;

@Html.TextBoxFor(m => m.StartProject)    

和jquery

$("#StartProject").datepicker(
{ dateFormat: "dd-mm-yy" }     
);

它输出类似01/01/2015但我会以这种格式显示01-01-2014。

我该怎么做?谢谢。

4 个答案:

答案 0 :(得分:1)

无法复制您的问题。使用以下代码以MM-dd-yyyy (01-05-2015)格式返回日期。

视图模型:

[DisplayFormat(DataFormatString = "{0: MM-dd-yyyy h:mm tt}", ApplyFormatInEditMode = true)]
public DateTime StartProject { get; set; }

查看:

<div class="form-group">
    @Html.TextBoxFor(model => model.StartProject, new { @class = "form-control" })
    @Html.ValidationMessageFor(model => model.StartProject, "", new { @class = "text-danger" })
</div>


@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
    <script>
        $('#StartProject').datepicker({
            format: "mm-dd-yyyy"
    });
</script>
}

答案 1 :(得分:0)

这样做

     <script>
    $(function () {

        $("#StartProject").datepicker();
        $("#StartProject").datepicker("option", "dateFormat", "dd-mm-yy");
    });
</script>

答案 2 :(得分:0)

在模型中

public Nullable<System.DateTime> Period_From { get; set; }

视图

@Html.TextBoxFor(m => m.StartProject,"{0:dd/MM/yyyy}", new { type = "text", Class = "form-control dp1", placeholder = "DD/MM/YYYY", style="font-size:12px;" })

JS

 $('.dp1').datepicker({
        format: 'dd/mm/yyyy'
    });

答案 3 :(得分:0)

我有同样的问题。我的表单是通过GET方法发布的,MVC只是在RouteData传递时使用文化作为参数,或者通过POST方法传递给表格。

我刚刚将表单更改为POST方法,但它确实有效。