引导3日期拾取器和时刻问题

Bootstrap 3 datepicker and moment issue

本文关键字:时刻 问题 日期 引导      更新时间:2023-09-26

我在一个页面上有2个bootstrap 3个日期摘取器。一个是发行日期,另一个是到期日期。我想将due_date设置为issue_date + transactionDaysTerms(例如14天)。

    $('#issue_date').datepicker({
    }).on('changeDate', function(event){
        $(this).datepicker('hide');
        var calculatedEndDate = moment($('#issue_date').val()).add(transactionDaysTerms, 'days');
        $('#issue_date').datepicker('setEndDate', calculatedEndDate);
        $('#due_date').datepicker('setEndDate', calculatedEndDate);
    }).on('clearDate', function(event){
        $(this).datepicker('setDate', today);
    });

我已经尝试了moment的各种格式,但无济于事。此代码在

处失败
Uncaught TypeError: date.match is not a function

我怎样才能从moment.js得到日期格式与日期选择器一起工作?

效果很好。

    $('#issue_date').datepicker({
    }).on('changeDate', function(event){
        $(this).datepicker('hide');
        var calculatedEndDate = moment($(this).datepicker('getDate')).add(transactionDays, 'days').toDate();
        $('#issue_date').datepicker('setEndDate', calculatedEndDate);
        $('#due_date').datepicker('setDate', calculatedEndDate);
    }).on('clearDate', function(event){
        var calculatedEndDate = moment(today).add(transactionDays, 'days').format('L');
        $('#issue_date').datepicker('setEndDate', calculatedEndDate);
        $('#due_date').datepicker('setDate', calculatedEndDate);
    });

我只需要在moment call结束时使用.toDate()

难道不能使用getDate从日期选择器中获取时间戳,然后将天数相乘得到毫秒,将其相加,并设置结束日期

$('#issue_date').datepicker().on('changeDate', function(event) {
    $(this).datepicker('hide');
    var date = $(this).datepicker('getDate');
    var days = transactionDaysTerms * 24 * 60 * 60 * 1000;
    var calculatedEndDate = new Date( date.getTime() + days );
    $('#issue_date, #due_date').datepicker('setEndDate', calculatedEndDate);
}).on('clearDate', function(event) {
  $(this).datepicker('setDate', today);
});

小提琴