【问题标题】:jQuery datapicker parsing date throws invalid date exceptionjQuery datepicker 解析日期抛出无效日期异常
【发布时间】:2012-02-16 10:23:19
【问题描述】:

为什么$.datepicker.parseDate("mm/yy","02/2008"); 会抛出 InvalidDate 异常?

【问题讨论】:

  • 02/2008 不是一个完整的日期。试试 01/02/2008
  • stackoverflow.com/questions/5956766/… - 我会向您指出这个问题。日期选择器至少需要一天和一个月
  • @Oliver,以防万一您需要知道,每个 y 代表 jQuery 日期选择器的日期格式中一年的两位数。所以只有一个 y 意味着“08”是一个有效的年份。
  • @webdreamer 这很有趣,有点不标准。

标签: javascript jquery date datepicker


【解决方案1】:

这是因为在 javascript 中,Date 对象也必须有一天。您可以通过将日期连接到您尝试解析的字符串来将日期伪造为 01:

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

【讨论】:

  • 问题是我正在尝试通过适配 jQuery 的 datapicker(stackoverflow.com/questions/4079525/…) 来实现月份选择器数据选择器,但我实际上并不知道格式;我所知道的是,它不会有这一天。但是,根据您的回答,我能够做到 var date = $.datepicker.parseDate(format+"/dd",date + "/01");将其留在这里以供将来参考。
  • @webdreamer,这正是我的建议。这就是为什么我故意将答案中的 2 个字符串分开,因为我认为第一部分是可变的。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    相关资源
    最近更新 更多