首页 > 解决方案 > 如何使用 ASP.NET MVC 将 dd/MM/yyyy 日期时间类型存储到数据库中?

问题描述

我正在处理 Inventory 项目,但无法将dd/MM/yyyy 等日期时间数据类型保存到数据库中。我知道数据库使用 yyyy-MM-dd 作为标准日期时间,但它也接受 MM-dd-yyyy(我认为编译器将其转换为 yyyy-MM-dd)。

这就是我所拥有的:

模型

    [Required(ErrorMessage = "*Ingrese una fecha.")]
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
    [Display(Name ="FECHA")]
    public DateTime Fecha { get; set; }

看法

@Html.LabelFor(m => m.Entrada.Fecha, new { @class = "control-label" })
@Html.TextBoxFor(m => m.Entrada.Fecha, "{0:dd/MM/yyyy}", new { @class = "form-control datepicker" })
@Html.ValidationMessageFor(m => m.Entrada.InventarioId, "", new { @class = "text-danger" })

单击提交按钮时,它不会添加到数据库,但是当我使用mm/dd/yyyy(例如 08/21/2019)类型编写任何日期时间时,它会提交到数据库。我在互联网上找不到解决方案。

标签: c#asp.net-mvc

解决方案


您可以尝试以下方法

bool parsed = false;
DateTime outDate;
parsed = DateTime.TryParseExact(inputDate, "dd-MM- 
 yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, 
 out outDate);

 if(parsed)
 {
  usr.DogumTarihi = outDate.ToString("yyyy-MM-dd");
  }
 else
 {
   // Invalid date has been passed
 }

推荐阅读