Javascript 如何在pickadate v3日期中添加一天

Javascript 如何在pickadate v3日期中添加一天,javascript,jquery,html,date,Javascript,Jquery,Html,Date,我已经设置了一个页面,其中包含2个pickadates。一个用于开始日期,一个用于结束日期 我还有一些复选框,标记为: 一天,一个月,一年 一旦用户从第一个选择器中选择日期。他们可以从第二个日期中选择第二个日期 但我想提供第二种选择。如果他们检查1天,则第二个选择日期将是1天+第一个选择日期的结果。对于1个月和1年复选框也是如此。 有没有办法做到这一点 我目前的HTML是: <div class="inputdata"> <label>Timefr

我已经设置了一个页面,其中包含2个pickadates。一个用于开始日期,一个用于结束日期

我还有一些复选框,标记为:

一天,一个月,一年

一旦用户从第一个选择器中选择日期。他们可以从第二个日期中选择第二个日期

但我想提供第二种选择。如果他们检查1天,则第二个选择日期将是1天+第一个选择日期的结果。对于1个月和1年复选框也是如此。

有没有办法做到这一点

我目前的HTML是:

    <div class="inputdata">
        <label>Timeframe:</label>
        <span>
        <div class="section__block section__block--scoped">
            From:
            <fieldset>
              <input type="text" id="input_from">
            </fieldset>
            To:
            <fieldset>
              <input type="text" id="input_to">
            </fieldset>
        </div>
        </span>
        <div class="clear"></div>
    <span><input id="x_timeframe" type="date" name="date_timeframe"></span>
        <label></label>
        <span id="x_timeframe_checkboxes">
            <input type="radio" name="a_timeframe" id="radio4" value="d" class="css-checkbox"/>
            <label for="radio4" class="css-label">1 Day</label>

            <input type="radio" name="a_timeframe" id="radio5" value="w" class="css-checkbox"  />
            <label for="radio5" class="css-label">1 Week</label>

            <input type="radio" name="a_timeframe" id="radio6" value="m" class="css-checkbox" />
            <label for="radio6" class="css-label">1 Month</label>

            <input type="radio" name="a_timeframe" id="radio8" value="n" class="css-checkbox"  />
            <label for="radio8" class="css-label">None</label>
        </span>
    </div>

时间框架:
发件人:
致:
一天
1周
1个月
没有一个
为了熟悉,js包括:

<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.date.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.time.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/legacy.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/demo/scripts/main.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/pickadate1454.js"></script>

通过从日期字段中获取值,并在JS日期中转换,然后添加日期或月数,您可以仅使用JS来完成此操作

我总是创建7个函数来处理JS中的日期:addSeconds、addMinutes、addHours、addDays、addWeeks、addMonths、addYears

您可以在此处看到一个示例:

如何使用:

var now = new Date();
console.log(now.addWeeks(3));
以下是功能:

        Date.prototype.addSeconds = function(seconds) {
            this.setSeconds(this.getSeconds() + seconds);
            return this;
        };

        Date.prototype.addMinutes = function(minutes) {
            this.setMinutes(this.getMinutes() + minutes);
            return this;
        };

        Date.prototype.addHours = function(hours) {
            this.setHours(this.getHours() + hours);
            return this;
        };

        Date.prototype.addDays = function(days) {
            this.setDate(this.getDate() + days);
            return this;
        };

        Date.prototype.addWeeks = function(weeks) {
            this.addDays(weeks*7);
            return this;
        };

        Date.prototype.addMonths = function (months) {
            var dt = this.getDate();

            this.setMonth(this.getMonth() + months);
            var currDt = this.getDate();

            if (dt !== currDt) {  
                this.addDays(-currDt);
            }

            return this;
        };

        Date.prototype.addYears = function(years) {
            var dt = this.getDate();

            this.setFullYear(this.getFullYear() + years);

            var currDt = this.getDate();

            if (dt !== currDt) {  
                this.addDays(-currDt);
            }

            return this;
        };
+1天从采摘者处

var from_picker = $('#input_from').pickadate(), to_picker = $('#input_from').pickadate();

from_picker.pickadate('picker').on('set', function (event) {
    if (event.select) {
        to_picker.pickadate('picker').set('select', from_picker.pickadate('picker').get('select').pick + 1 * 24 * 60 * 60 * 1000);
    }
});