指定给定日期的日期

时间:2012-12-08 21:36:34

标签: jquery jquery-ui jquery-ui-datepicker

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

如果我指定相对日期,则相对于今天。我可以做一些像" 01.01.2012 -3y"意味着在2012年1月1日之前三年?最重要的是,我可以用一个字符串吗?

据我所知,从jqueryUI docs是不可能的,但只是想检查。

2 个答案:

答案 0 :(得分: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()可以处理一个对象

答案 1 :(得分:0)

jQuery documentation所示,你可以传递一个Date对象,

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

而不只是偏移"-1M"