JS日期比较大小 给定时间和持续时间计算最终时间详解编程语言

       /* 往指定时间字符串上加时间间隔,获得新的时间字符串  
     * 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; 
        } 
    }

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/8795.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论