jQuery datepicker不能作为例外工作

时间:2016-12-11 15:28:47

标签: c# jquery asp.net-mvc datepicker jquery-ui-datepicker

我需要将日期输入设为dd/MM/yyyy,但是当我使用此代码时:

$('#DateTime').datepicker({ dateFormat: 'dd/MM/yyyy' });

它显示如下日期:28/December/20162016。 有什么想法吗?

更新: 它现在使用此格式dd/mm/yy。但问题是,当我传递像17/12/2016这样的日期时,服务器说:(它变为空)

The value '17/12/2016' is not valid for DateTime.

PS:我正在使用ASP.NET MVC,我的属性是:

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

2 个答案:

答案 0 :(得分:1)

你需要小写'MM':

$('#DateTime').datepicker({ dateFormat: 'dd/mm/yyyy' });

根据datepicker文档:

  

mm - 一年中的一个月(两位数)

     

M - 月份简称

     

MM - 月份名称长

看看: http://api.jqueryui.com/datepicker/#option-dateFormat

答案 1 :(得分:1)

MM是您想要的月份(12月)的名称mm - 月份的数字(12)。

加 - yy足以获得一年,你写了两次(yyyy),所以你得到它两次:$('#DateTime').datepicker({ dateFormat: 'dd/mm/yy' });

看看这个: https://jqueryui.com/resources/demos/datepicker/date-formats.html

修改

dd / mm / yy不是系统的有效日期(我知道)我主要使用php但yy-mm-dd适用于我所知道的所有系统,所以你应该试试$('#DateTime').datepicker({ dateFormat: 'yy-mm-dd' });

如果您希望以dd / mm / yy显示但是在yy-mm-dd中显示,则需要使用日期选择器的altField和altFormat选项:http://api.jqueryui.com/datepicker/#option-altField