在01/01/001发布日期时间问题

时间:2015-03-09 13:03:32

标签: c# asp.net datetime

我正在使用ASP.NET App而且我遇到了日期时间问题。

当我选择行军的第31个日期时,在控制器中进入模型是01/01/0001,但是当我选择3月1日时没有错误。

我想使用这种格式:日/月/年,我认为该应用的DateTime默认格式是月/日/年,这就是为什么,所以我该如何使这个工作?

这是我做的:

型号:

public DateTime dateAudit { get; set; }

查看:

<input class="form-controlform-control datefield" id="dateAudit" name="dateAudit" value="@Model.dateAudit.ToString("dd/MM/yyyy")" />

$(".datefield").datepicker({
                numberOfMonths: 1,
                dateFormat: 'dd/mm/yy',
                showTimePicker: false
            });

控制器:

[HttpPost]
        public ActionResult Create(AuditViewModel model)
            {...}

配置文件:

<globalization uiCulture="fr-FR" />

01/01/0001在提交表单时进入了model.date属性。

为了获得正确的约会,最佳解决方案应该是什么? 设定全球文化以使用那种日期?别的什么? 提前致谢

2 个答案:

答案 0 :(得分:0)

您可以将以下属性添加到日期属性:

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

编辑:

我刚刚注意到可能会增加你面临的问题:

$(".datefield").datepicker({
                numberOfMonths: 1,
                dateFormat: 'dd/mm/yy',**
                showTimePicker: false
            });

dateFormat: 'dd/mm/yy'理想情况下应为dateFormat: 'dd/mm/yyyy'

希望这有帮助。

答案 1 :(得分:-1)

将mm更改为MM,因为它需要几分钟而不是几个月。

$(".datefield").datepicker({
                numberOfMonths: 1,
                dateFormat: 'dd/MM/yy',
                showTimePicker: false
            });