【发布时间】:2013-11-08 12:42:34
【问题描述】:
当我尝试使用 jQuery UI datepicker 的 parseDate 实用程序函数解析以下日期时,我得到一个 Invalid date 异常:
$.datepicker.parseDate("ddmy", "10982");
我正在使用 jQuery 1.8.0。有人可以帮我吗?
【问题讨论】:
标签: jquery jquery-ui parsing date
当我尝试使用 jQuery UI datepicker 的 parseDate 实用程序函数解析以下日期时,我得到一个 Invalid date 异常:
$.datepicker.parseDate("ddmy", "10982");
我正在使用 jQuery 1.8.0。有人可以帮我吗?
【问题讨论】:
标签: jquery jquery-ui parsing date
我做了一些测试,发现格式没问题,但值无法解析,
所以我尝试了以下代码:
$.datepicker.parseDate("ddmy", "100982");
这意味着每种格式都需要 2 个字符长度(例如 2 位代表日,2 位代表月份,相同的年份)
希望你能得到答案。
【讨论】:
100982 解析正常。但我宁愿允许用户也输入10982。如果 jQuery 的解析功能无法做到这一点,那就太可惜了。不过,我担心你是对的...... ;(
您的指令给出了无效日期错误,您最好使用这种更详细的格式:
$.datepicker.parseDate("ddmmyy", "10091982");
【讨论】:
ddmy 是我试图猜测是否输入了有效日期的格式之一。根据 jQuery 文档 ddmy 应该解析 10982 好吧...
经过一番调查,似乎 jQuery 无法解析数天或数月的单个数字日期(尽管根据文档我仍然认为这应该是可能的)。
我现在正在使用一种解决方法,在将用户输入的字符串输入到 jQuery 的解析函数之前,将其填充:
var text = ...
if (text.length === 4) { // dmyy
text = "0" + text.substring(0, 1) + "0" + text.substring(1);
} else if (text.length === 5) { // ddmyy
text = text.substring(0, 2) + "0" + text.substring(2);
}
$.datepicker.parseDate("ddmmyy", text);
【讨论】: