大多数答案和解释都不是为了解释什么是有效的endDate
or字符串startDate
。Danny 给了我们两个有用的例子。
$('#datepicker').datepicker({
startDate: '-2m',
endDate: '+2d'
});
但为什么呢?让我们看一下 的源代码bootstrap-datetimepicker.js
。有一些代码开始行 1343 告诉我们它是如何工作的。
if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(date)) {
var part_re = /([-+]\d+)([dmwy])/,
parts = date.match(/([-+]\d+)([dmwy])/g),
part, dir;
date = new Date();
for (var i = 0; i < parts.length; i++) {
part = part_re.exec(parts[i]);
dir = parseInt(part[1]);
switch (part[2]) {
case 'd':
date.setUTCDate(date.getUTCDate() + dir);
break;
case 'm':
date = Datetimepicker.prototype.moveMonth.call(Datetimepicker.prototype, date, dir);
break;
case 'w':
date.setUTCDate(date.getUTCDate() + dir * 7);
break;
case 'y':
date = Datetimepicker.prototype.moveYear.call(Datetimepicker.prototype, date, dir);
break;
}
}
return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), 0);
}
有四种表达方式。
w
表示周
m
表示月份
y
意味着年
d
意味着一天
看看正则表达式^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$
。您可以做的不仅仅是这些-0d
或+1m
。
像startDate:'+1y,-2m,+0d,-1w'
.And 分隔符,
可能是其中之一[\f\n\r\t\v,]