我在将日期从datepicker(在视图中)传递给模型时遇到问题。
我正在使用如下所示的datepicker:
@Html.TextBoxFor(model=> model.ChequeDate,"{0:DD/mm/yyyy}", new { @class = "form-control datepicker"})
日期选择器已设置为 dd / mm / yyyy 格式,我选择的是该格式的日期。
我已在模型类中将模型定义为公共System.DateTime ChequeDate { get; set; }
..
但是,日期会以 mm / dd / yyyy格式格式存储在模型ChequeDate
属性中,这是系统日期格式。它根据系统日期格式在模型中存储日期。
我尝试将属性添加为
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public System.DateTime ChequeDate { get; set; }
但是它不起作用
知道如何在不更改系统日期格式的情况下以 dd / mm / yyyy 格式将日期传递给模型吗?
答案 0 :(得分:0)
无论格式如何,DateTime
属性都会在C#中存储为DateTime
。这就是为什么如果更改系统设置,默认的.ToString()格式会发生变化。如果您要将其放入数据库中,或者想要以某种方式显示它,请使用本地化内容(System.Globalization.CultureInfo
)或.ToString("dd/MM/yyyy hh:mm:ss tt")
。如果您没有指定任何内容,它将以本地系统日期格式存储/显示。
你在MVC中所做的事情是用于UI - 即显示日期,而不是将其存储在数据库中。