早上好。 我发现此代码符合我的目的:
$(function () {
$('#CheckIn').datetimepicker({
format: 'MM/DD/YYYY'
});
$('#CheckOut').datetimepicker({
useCurrent: false,//Important! See issue #1075
format: 'MM/DD/YYYY'
});
$("#CheckIn").on("dp.change", function (e) {
if( e.date ){
e.date.add(1, 'day');
}
$('#CheckOut').data("DateTimePicker").minDate(e.date);
});
$("#CheckOut").on("dp.change", function (e) {
$('#CheckIn').data("DateTimePicker").maxDate(e.date);
});
});
链接:Bootstrap datetimepicker add 1 day to mindate
但是我需要进行一些调整。我需要在某些时段添加天数。 我尝试过,但是没有成功:
$(function () {
$('#CheckIn').datetimepicker({
format: 'MM/DD/YYYY'
});
$('#CheckOut').datetimepicker({
useCurrent: false,//Important! See issue #1075
format: 'MM/DD/YYYY'
});
$("#CheckIn").on("dp.change", function (e) {
if(( e.date >= new Date(2018, 8, 01) && ( e.date <= new Date(2018, 8, 10)){
e.date.add(3, 'day');
}
if(( e.date >= new Date(2018, 9, 01) && ( e.date <= new Date(2018, 9, 10)){
e.date.add(5, 'day');
}
$('#CheckOut').data("DateTimePicker").minDate(e.date);
});
$("#CheckOut").on("dp.change", function (e) {
$('#CheckIn').data("DateTimePicker").maxDate(e.date);
});
});
有人可以帮忙吗? 预先感谢。
答案 0 :(得分:1)
使用new Date(yyyy, mm, dd)
创建日期时,mm(月)为0。即0是1月,11是12月。
因此,new Date(2018, 8, 01)
将创建日期为2018年9月1日。
将您的代码更改为基于0的月份,它可以正常工作。小提琴-https://jsfiddle.net/0Ltv25o8/11721/
以下是语法:
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
monthIndex
代表月份的整数值,从0到1月到 12月11日。
有关更多详细信息,请检查-https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date