为什么将类似dd-MMM-yyyy的日期存储为dd-MM-yyyy?

时间:2019-07-01 15:48:01

标签: c# jquery sql asp.net-mvc datetimepicker

我有一个非常不同的问题。

我已将mvc应用程序部署到实时服务器。

它具有日期时间格式,例如“ 01/07/2019”。

我有一个从jquery datetimepicker填充的文本框。它的填充方式如下所示:2019年7月27日,但在sql表中,其存储方式为2019-07-17 00:00:00.000 将数据从数据库绑定到textboxfor之后,看起来像是27-07-2019。

保存后,如果一天中所有大于12的日期都抛出错误,例如13/07/2019,但在2019年7月13日有效。

如何解决这个问题?

@Html.EditorFor(model => model.InspectionReport.InspectionDate, new { htmlAttributes = new { @class = "form-control  input-sm pull-right text-box single-line" } })

jquery:

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

班级:

[Required]
[Display(Name = "Inspection Date")]
[DisplayFormat(DataFormatString = "{0: dd-MMM-yyyy}")]
public DateTime InspectionDate { get; set; }

2 个答案:

答案 0 :(得分:3)

在数据类型为 DateTime(2)的日期字段中,日期值存储为具有 no格式的值。

因此,要显示值,请应用所需的格式,否则将应用默认格式。

答案 1 :(得分:0)

尝试一下

  @Html.TextBoxFor(model => model.InspectionReport.InspectionDate, "{0:dd-MMM-yyyy}", htmlAttributes: new { @type="date" })