Javascript 更改jquery datetimepicker中的初始最小日期

Javascript 更改jquery datetimepicker中的初始最小日期,javascript,jquery,Javascript,Jquery,我分配 $(function(){ var startDate = $('#datefrom'); var endDate = $('#dateto'); startDate.datetimepicker('option', 'minDate', new Date(+new Date()-2592000000)); //***here I try to init the min date for the start date startDate.datetimepicker({

我分配

    $(function(){   
var startDate = $('#datefrom');
var endDate = $('#dateto');
startDate.datetimepicker('option', 'minDate', new Date(+new Date()-2592000000));
//***here I try to init the min date for the start date

startDate.datetimepicker({
    showSecond: true,
    dateFormat: 'yy/mm/dd',
    timeFormat: 'HH:mm:ss',

    onClose: function(dateText, inst) {
        if (endDate.val() != '') {
            var testStartDate = startDate.datetimepicker('getDate');
            var testEndDate = endDate.datetimepicker('getDate');
            if (testStartDate > testEndDate)
                endDate.datetimepicker('setDate', testStartDate);
            }
            // else {
                // endDate.val(dateText);
            // }
    },

    onSelect: function (selectedDateTime){
        endDate.datetimepicker('option', 'minDate', startDate.datetimepicker('getDate') );
    }
});
endDate.datetimepicker({
    showSecond: true,
    dateFormat: 'yy/mm/dd',
    timeFormat: 'HH:mm:ss',

    onClose: function(dateText, inst) {
        if (startDate.val() != '') {
            var testStartDate = startDate.datetimepicker('getDate');
            var testEndDate = endDate.datetimepicker('getDate');
            if (testStartDate > testEndDate)
                startDate.datetimepicker('setDate', testEndDate);
        }
        // else {
            // startDate.val(dateText);
        // }
    },

    onSelect: function (selectedDateTime){
        startDate.datetimepicker('option', 'maxDate', endDate.datetimepicker('getDate') );
    }
});
});
在datetimepicker中激活过去1个月的日期。但它仍然只显示当前日期的激活日期

在这里初始化插件时,我将startdate min值设置为1个月后。但它需要工作

我使用这个插件


让我们看看生成的日期,好吗

> new Date()
Sun May 18 2014 21:09:57 GMT-0700 (PDT)
> new Date(+new Date() - 2592000)
Sun May 18 2014 20:26:46 GMT-0700 (PDT)
看起来您正在减去秒,但是
+new Date()
转换为,并且
日期
需要毫秒。看一看这张照片。如果您使用毫秒而不是秒,它可以正常工作

然而,更为简洁的方法是简单地减去一个月:

var minDate = new Date();
minDate.setMonth(minDate.getMonth() - 1);

您可以使用字符串格式类型简单地执行此操作。你可以办理登机手续。 这只适用于确切的一个月

var date = new Date().getDate() - 1;
var minDate = '-1m-' + date + 'd';
$( '.datepicker' ).datepicker({minDate: minDate});
如果你只想从今天起一个月,就这样做吧

$( '.datepicker' ).datepicker({minDate: '-1m'});

我希望这可能会有所帮助。

很抱歉,我减去了2592000000而不是2592000。我已经对Github的链接发表了评论。请参考该插件并告诉我初始化min Date的方法。作为插件,您必须将minDate设置为“dd-mm-yyyy”格式。但是,您可以直接在minDate上设置日期对象。这就是它不起作用的原因。你需要做的是格式化你的minDate。你可以很容易地使用moment.js将日期对象转换成字符串格式。