今日ではなく、特定の日付に対する相対日付として jqueryUI 日付ピッカーの minDate/maxDate を指定する可能性はありますか?
相対日付を指定すると、それは今日を基準にしています。2012 年 1 月 1 日の 3 年前を意味する "01.01.2012 -3y" のようなことはできますか? そして最も重要なことは、1 つの文字列で実行できるかどうかです。
jqueryUIのドキュメントからわかる限りでは不可能ですが、確認したかっただけです。
今日ではなく、特定の日付に対する相対日付として jqueryUI 日付ピッカーの minDate/maxDate を指定する可能性はありますか?
相対日付を指定すると、それは今日を基準にしています。2012 年 1 月 1 日の 3 年前を意味する "01.01.2012 -3y" のようなことはできますか? そして最も重要なことは、1 つの文字列で実行できるかどうかです。
jqueryUIのドキュメントからわかる限りでは不可能ですが、確認したかっただけです。
1 行でできるとは思いませんが、最初に 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"
編集:別の回答で述べたように、datepicker() がオブジェクトを処理できるため、フォーマットする代わりに、関数から nextDate オブジェクトを直接返すことができます。
jQuery のドキュメントに示されているように、Date オブジェクトを渡すだけで済みます。
minDate: new Date(2009, 1 - 1, 1)
maxDate: new Date(2009, 12 - 1, 31)
単なるオフセットの代わりに"-1M"
。