Asp.net MVC4 |日期格式

时间:2014-05-24 13:17:52

标签: asp.net-mvc asp.net-mvc-4

我在将日期从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 格式将日期传递给模型吗?

1 个答案:

答案 0 :(得分:0)

无论格式如何,DateTime属性都会在C#中存储为DateTime。这就是为什么如果更改系统设置,默认的.ToString()格式会发生变化。如果您要将其放入数据库中,或者想要以某种方式显示它,请使用本地化内容(System.Globalization.CultureInfo)或.ToString("dd/MM/yyyy hh:mm:ss tt")。如果您没有指定任何内容,它将以本地系统日期格式存储/显示。

你在MVC中所做的事情是用于UI - 即显示日期,而不是将其存储在数据库中。