0

是否有可能将 jqueryUI datepicker 的 minDate/maxDate 指定为给定日期的相对日期,而不是今天?

如果我指定一个相对日期,它是相对于今天的。我可以做类似“01.01.2012 -3y”的事情,意思是在 2012 年 1 月 1 日之前三年吗?最重要的是,我可以在一个字符串中完成吗?

据我从 jqueryUI 文档中可以看出是不可能的,但只是想检查一下。

4

2 回答 2

0

我不认为你可以在一行中,但你可以先计算 maxDate,然后将其提供给 datepicker:

function addYearsDate(dateText, years) {
    var curDate = new Date(Date.parse(dateText));
    var nextDate = new Date();
    nextDate.setYear(curDate.getFullYear() + years);
    var curDay = nextDate.getDate();
    var curMonth = nextDate.getMonth() + 1; //Months are zero based
    var curYear = nextDate.getFullYear();
    return curYear + "/" + curMonth + "/" + curDay;​
}

var newDate = addYearsDate("2012/12/8", 3); // will ouput "2015/12/8"

编辑:正如在另一个答案中提到的,您可以直接从函数返回 nextDate 对象,而不是格式化为 datepicker() 可以处理对象

于 2012-12-08T21:51:05.410 回答
0

如jQuery 文档所示,您可以只传递一个 Date 对象,

minDate: new Date(2009, 1 - 1, 1)
maxDate: new Date(2009, 12 - 1, 31)

而不仅仅是一个偏移量"-1M"

于 2012-12-08T21:51:38.190 回答