JS日期比较大小 给定时间和持续时间计算最终时间

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

       /* 往指定时间字符串上加时间间隔,获得新的时间字符串 
     * startDateStr:开始时间字符串,类似"2015-7-20 17:26:00"
     * durationNumStr:持续时间数
     * durationTypeStr:持续时间类型
     * 返回类似:2015-7-20 17:26:00
     * 
     * 
     */
    function getEndDate(startDateStr, durationNumStr, durationTypeStr) {
 
        var startDate = new Date(startDateStr.replace("-", "/").replace("-",
                "/"));
        var duration_num = parseInt(durationNumStr);
 
        var endDate = "";
        if (durationTypeStr == "min") {
            endDate = new Date(startDate.setMinutes(startDate.getMinutes()
                    + duration_num));
        }
        if (durationTypeStr == "h") {
            endDate = new Date(startDate.setHours(startDate.getHours()
                    + duration_num));
        }
        if (durationTypeStr == "d") {
            endDate = new Date(startDate.setDate(startDate.getDate()
                    + duration_num));
        }
        if (durationTypeStr == "w") {
            endDate = new Date(startDate.setDate(startDate.getDate()
                    + duration_num * 7));
        }
        if (durationTypeStr == "m") {
            endDate = new Date(startDate.setMonth(startDate.getMonth()
                    + duration_num));
        }
        if (durationTypeStr == "y") {
            endDate = new Date(startDate.setFullYear(startDate.getFullYear()
                    + duration_num));
        }
 
        var year = endDate.getFullYear();
        var month = endDate.getMonth() + 1 < 10 ? "0"
                + (endDate.getMonth() + 1) : endDate.getMonth() + 1;
        var date = endDate.getDate() < 10 ? "0" + endDate.getDate() : endDate
                .getDate();
        var hour = endDate.getHours() < 10 ? "0" + endDate.getHours() : endDate
                .getHours();
        var minute = endDate.getMinutes() < 10 ? "0" + endDate.getMinutes()
                : endDate.getMinutes();
        var second = endDate.getSeconds() < 10 ? "0" + endDate.getSeconds()
                : endDate.getSeconds();
        var endDateStr = year + "-" + month + "-" + date + " " + hour + ":"
                + minute + ":" + second;
        return endDateStr;
    }
 
    /**
     * 计算开始时间是否小于结束时间,小于等于返回true,否则false
     * startDateStr:开始时间字符串
     * endDateStr:结束时间字符串
     * 返回:true或false
     * 
     * 
     */
    function chkTime(startDateStr, endDateStr) {
        //计划截止时间
        var startDate = new Date(startDateStr.replace("-", "/").replace("-",
                "/"));
        //计划详细项的截止时间
        var endDate = new Date(endDateStr.replace("-", "/").replace("-", "/"));
        if (startDate <= endDate) {
            return true;
        } else {
            return false;
        }
    }