MVC存储日期没有时间

时间:2015-02-18 16:18:25

标签: c# model-view-controller datepicker

我正在尝试保存用户输入数据库的日期。问题是尽管文本框中只显示了日期,但时间也在保存。这就是我模型中的样子。

{11/02/2015 00:00:00}

然而,这就是我在JQuery设置中所拥有的以及在保存到数据库时我希望它看起来如何,而且没有时间附加。

$("#datepicker").datepicker({ dateFormat: 'dd/mm/yy' });

我认为问题在于我的模型,所以这就是我现在设置的方式。

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

这是我的观点,

    <div class="form-group">
        @Html.LabelFor(model => model.DateOfBooking, new { @class = "control-label col-md-2"})
        <div class="col-md-10">
            @Html.TextBoxFor(x => x.DateOfBooking, new { @id = "datepicker" })
            @Html.ValidationMessageFor(model => model.DateOfBooking)
        </div>
    </div>

1 个答案:

答案 0 :(得分:3)

使用DateTimes无法仅将日期存储/传递给模型。在SQL中,您可以使用Date数据类型,该类型仅存储来自.Net的DateTime对象的Date部分。但是,当您将数据移入/移出模型时,您将始终拥有时间组件。最简单的方法是忽略时间组件并指定像您一样的显示格式。

你也可以使用像Noda Time那样具有仅限日期类型的结构。