如何在mvc3中只显示日期?

时间:2012-09-23 10:20:35

标签: jquery asp.net-mvc-3

我使用过Jquery UI datepicker。 我的模型看起来像:

 [DataType(DataType.Date)]
 public DateTime? endDate { get; set; } 

用于在视图中显示

@Html.TextBoxFor(x => x.endDate, new { @class = "datepicker" })

脚本

<script type="text/javascript" language="javascript">
    $(document).ready(function () {
        $(function () {
            $(".datepicker").datepicker({
                dateFormat: "mm/dd/yy",
                changeMonth: true,
                changeYear: true
              });
        });
    });
</script>

显示日期时间时,它看起来像 09年11月12日上午12:00:00 我只想在没有时间的情况下显示日期。谢谢你的帮助。

6 个答案:

答案 0 :(得分:3)

您可以通过日期时间选择器以所需格式解析日期。在javascript中试试这个:

$(document).ready(function(){
    $("#endDate").val($.datepicker.parseDate('mm/dd/yy', $("#endDate").val()));

    // Existing stuff
});

或者,您可以使用$.datepicker.formatDate

示例:

$("#endDate").val($.datepicker.formatDate('dd-M-yy', new Date($("#endDate").val())));

<强> DEMO

祝你好运!!

答案 1 :(得分:2)

[DisplayName("Start Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime StartDate { get; set; }

Date only from TextBoxFor()

答案 2 :(得分:2)

使用此

@Html.TextBoxFor(x => x.HasValue ? x.Value.ToString("MM/dd/yy") : string.Empty, new { @class = "datepicker" })

您可以从此处选择您喜欢的任何格式: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

答案 3 :(得分:1)

您可以使用上述任何一种方法,例如:将其格式化为输出,但是在显示时真的需要返回DateTime属性吗?显示@ Html.TextBoxFor(x =&gt; x.endDate.Date?

是否更有效率?

答案 4 :(得分:1)

对于DateTime,我更喜欢使用EditorTemplate

@model DateTime?

@Html.TextBox("", (Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), new { @class = "datepicker" })

答案 5 :(得分:0)

我使用了EditorFor而不是TextBoxFor

@Html.EditorFor(x => x.endDate, new { @class = "datepicker" })

在视图中工作正常。