LayDate计算两个input的时间范围限制

LayDate计算两个input的时间范围限制

在项目中有时候会遇到时间范围的限制的需求,也就是常说的,开始时间和结束时间,而结束时间要大于开始时间这一类需求,laydate提供了这样的功能,但是由于文档在这一块却并不完善。

下面是我找到的一种方法。
LayDate计算两个input的时间范围限制_第1张图片

//开始时间
var start = laydate.render({
    elem: '#startTime',
    min: '1900-1-1 00:00:00',
    max: '2099-6-16 23:59:59',
    trigger: 'click', //采用click弹出
    done: function (value, date, endDate) {
        end.config.min = {
            year: date.year,
            month: date.month - 1,
            date: date.date,
            // hours: date.hours,
            // minutes: date.minutes,
            // seconds: date.seconds
        }; //开始日选好后,重置结束日的最小日期
        end.config.value = {
            year: date.year,
            month: date.month - 1,
            date: date.date,
            // hours: date.hours,
            // minutes: date.minutes,
            // seconds: date.seconds
        }; //将结束日的初始值设定为开始日
        //计算时间差
        if ($("#endTime").val()){
            var s=new Date(value);
            var e=new Date($("#endTime").val());
            var time=(e.getTime()-s.getTime())/1000/60/60/24+1;
            $("#leaveDuration").val(time);
        }
    }
});
//结束时间
var end = laydate.render({
    elem: '#endTime',
    // min: '1900-1-1 00:00:00',
    // max: '2099-6-16 23:59:59',
    // trigger: 'click', //采用click弹出
    done: function (value, date, endDate) {
        start.config.max = {
            year: date.year,
            month: date.month - 1,
            date: date.date,
            // hours: date.hours,
            // minutes: date.minutes,
            // seconds: date.seconds
        }; //结束日选好后,重置开始日的最大日期
        //计算时间差
        if ($("#startTime").val()){
            var e=new Date(value);
            var s=new Date($("#startTime").val());
            var time=(e.getTime()-s.getTime())/1000/60/60/24+1;
            $("#leaveDuration").val(time);
        }
    }
});

你可能感兴趣的:(LayDate)