2012-02-16 93 views
1

为什么$.datepicker.parseDate("mm/yy","02/2008");会抛出InvalidDate异常?jQuery数据分析器解析日期抛出无效日期异常

+0

02/2008不是完整的日期。试试01/02/2008 – Stefan 2012-02-16 10:26:21

+0

也许它想'mm/yyyy'? – Oliver 2012-02-16 10:27:09

+0

http://stackoverflow.com/questions/5956766/jquery-datepicker-parsedate-on-mm-y-causing-invalid-date - 我会指出你这个问题。 datepicker需要一天和一个月atleast – 2012-02-16 10:32:23

回答

1

这是因为在JavaScript中,一个对象也必须有一天。你可以通过将它链接到你想要解析的字符串来伪造01:

var date = $.datepicker.parseDate("mm/yy/dd", "02/2008" + "/01"); 
+0

事情是我试图通过调整jQuery的数据阅读器来实现月份选择器数据选择器(http://stackoverflow.com/questions/4079525/jquery-datetime-picker-need-to-pick-month-and-year-只有),我实际上不知道格式;我所知道的是它不会有一天。但是,从你的答案我可以做var date = $ .datepicker.parseDate(format +“/ dd”,date +“/ 01”);只需将其留在这里以备将来参考。 – webdreamer 2012-02-16 10:35:44

+0

@webdreamer,这正是我的建议。这就是为什么我故意将我的答案中的两个字符串分开,因为我认为第一部分是可变的。 – 2012-02-16 10:37:33

+0

恩,谢谢你,它完美的作品:) – webdreamer 2012-02-16 10:47:32

1

这是因为“02/2008”不是有效日期,并且不能通过javascript转换为一个。

您需要传递包含至少一天,一个月和一年的格式的字符串。请参阅examples了解更多信息。