首页 > 解决方案 > JQuery:如何在范围内设置日期选择器开始日期

问题描述

我正在尝试设置 a 的日期范围的开始和结束日期datepicker(),其中范围的开始日期是过去 7 天,结束日期是昨天。

目前我让它工作,因此范围的开始日期是过去 7 天,但是我不知道如何将结束日期设置为昨天。

我已经尝试了以下方法,但它并没有像我期望的那样工作:

var mindate = new Date();
    mindate.setDate(mindate.getDate() - 7);
    $('#date').datepicker({
        language: 'en',
            range : true,
            minDate : mindate,
            maxDate : new Date() - 1,   //I guess the problem is here
            multipleDates: true,
            multipleDatesSeparator: " - "
    })

标签: javascriptjquerydate-rangedaterangepicker

解决方案


一种方法是maxdate使用与您用来计算相同的技术来计算 a mindate,然后将该最大日期值应用于实例的maxData参数:datepicker()

var mindate = new Date();
mindate.setDate(mindate.getDate() - 7);

/* Compute max date of "yesterday" using same method as 
min date */
var maxdate = new Date();
maxdate.setDate(maxdate.getDate() - 1);

$('#date').datepicker({
    language: 'en',
    range : true,
    minDate : mindate,
    maxDate : maxdate, /* Apply max date to date picker */
    multipleDates: true,
    multipleDatesSeparator: " - "
});

datepicker()插件还允许您指定minDatemaxDate通过相对于今天日期的天数。这意味着您可以实现与上所示相同的结果,而无需计算mindatemaxdate通过指定minDateandmaxDate如下所示:

$('#date').datepicker({
    language: 'en',
    range : true,
    minDate : -7, /* 7 days ago */
    maxDate : -1, /* Yesterday */
    multipleDates: true,
    multipleDatesSeparator: " - "
});

推荐阅读