文章类型: JAVASCRIPT
关键词: JS,javascript,本周,本季度,本月,上月
内容摘要: js获取本周、本季度、本月、上月的开始日期、结束日期

js获取本周、本季度、本月、上月的开始日期、结束日期

2015/7/17 17:06:42    来源:apple    阅读:

下面的算法中 周是从周日开始的 需要修正

/**
 * 统计报表中
 * 计算本周第一天
 * @returns {String}
 */
getweekstart = function(date){
    var dateD = new Date();
    dateD = str2date(date);
    
    var myyear = dateD.getFullYear();     
    var mymonth = dateD.getMonth();     
    var myday = dateD.getDate(); 
    var nowDayOfWeek = dateD.getDay();
    if(0==nowDayOfWeek){
        nowDayOfWeek = 7;
    }
    var weekStartDate = new Date(myyear, mymonth, myday - nowDayOfWeek+1);  
    var weekStart = weekStartDate.Format("yyyy-MM-dd");
    return weekStart;
};
/**
 * 统计报表中
 * 计算本周最后一天
 * @returns {String}
 */
getweekend = function(date){
    var dateD = new Date();
    dateD = str2date(date);
    
    var myyear = dateD.getFullYear();     
    var mymonth = dateD.getMonth();     
    var myday = dateD.getDate(); 
    var nowDayOfWeek = dateD.getDay();
    if(0==nowDayOfWeek){
        nowDayOfWeek = 7;
    }
    var weekEndDate = new Date(myyear, mymonth, myday + (6 - nowDayOfWeek+1));
    var weekEnd = weekEndDate.Format("yyyy-MM-dd");
    return weekEnd;
};


/** 
     * 获取本周、本季度、本月、上月的开始日期、结束日期 
     */  
    var now = new Date();                    //当前日期     
    var nowDayOfWeek = now.getDay();         //今天本周的第几天     
    var nowDay = now.getDate();              //当前日     
    var nowMonth = now.getMonth();           //当前月     
    var nowYear = now.getYear();             //当前年     
    nowYear += (nowYear < 2000) ? 1900 : 0;  //    
      
    var lastMonthDate = new Date();  //上月日期  
    lastMonthDate.setDate(1);  
    lastMonthDate.setMonth(lastMonthDate.getMonth()-1);  
    var lastYear = lastMonthDate.getYear();  
    var lastMonth = lastMonthDate.getMonth();  
        
    //格式化日期:yyyy-MM-dd     
    function formatDate(date) {      
        var myyear = date.getFullYear();     
        var mymonth = date.getMonth()+1;     
        var myweekday = date.getDate();      
             
        if(mymonth < 10){     
            mymonth = "0" + mymonth;     
        }      
        if(myweekday < 10){     
            myweekday = "0" + myweekday;     
        }     
        return (myyear+"-"+mymonth + "-" + myweekday);      
    }      
        
    //获得某月的天数     
    function getMonthDays(myMonth){     
        var monthStartDate = new Date(nowYear, myMonth, 1);      
        var monthEndDate = new Date(nowYear, myMonth + 1, 1);      
        var   days   =   (monthEndDate   -   monthStartDate)/(1000   *   60   *   60   *   24);      
        return   days;      
    }     
        
    //获得本季度的开始月份     
    function getQuarterStartMonth(){     
        var quarterStartMonth = 0;     
        if(nowMonth<3){     
           quarterStartMonth = 0;     
        }     
        if(2<nowMonth && nowMonth<6){     
           quarterStartMonth = 3;     
        }     
        if(5<nowMonth && nowMonth<9){     
           quarterStartMonth = 6;     
        }     
        if(nowMonth>8){     
           quarterStartMonth = 9;     
        }     
        return quarterStartMonth;     
    }     
        
    //获得本周的开始日期     
    function getWeekStartDate() {      
        var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);      
        return formatDate(weekStartDate);     
    }      
        
    //获得本周的结束日期     
    function getWeekEndDate() {      
        var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));      
        return formatDate(weekEndDate);     
    }      
        
    //获得本月的开始日期     
    function getMonthStartDate(){     
        var monthStartDate = new Date(nowYear, nowMonth, 1);      
        return formatDate(monthStartDate);     
    }     
        
    //获得本月的结束日期     
    function getMonthEndDate(){     
        var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));      
        return formatDate(monthEndDate);     
    }     
      
    //获得上月开始时间  
    function getLastMonthStartDate(){  
        var lastMonthStartDate = new Date(nowYear, lastMonth, 1);  
        return formatDate(lastMonthStartDate);    
    }  
      
    //获得上月结束时间  
    function getLastMonthEndDate(){  
        var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));  
        return formatDate(lastMonthEndDate);    
    }  
        
    //获得本季度的开始日期     
    function getQuarterStartDate(){     
             
        var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);      
        return formatDate(quarterStartDate);     
    }     
        
    //或的本季度的结束日期     
    function getQuarterEndDate(){     
        var quarterEndMonth = getQuarterStartMonth() + 2;     
        var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));     
        return formatDate(quarterStartDate);     
    }


↑ 上一篇文章:鼎好DHAO GhostWin8 2012.12.iso 关键词:鼎好,GHOST,WIN8,极速装机版,v2012,12 发布日期:2015/7/17 17:04:51
↓ 下一篇文章:js获取 本周,本月,本季度,本年,上月,上周,上季度,去年 上月 关键词:js,获取,本周,本月,本季度,本年,上月,上周,上季度.. 发布日期:2015/7/17 17:10:25
相关文章:
js获取 本周,本月,本季度,本年,上月,上周,上季度,去年 上月 关键词:js,获取,本周,本月,本季度,本年,上月,上周,上季度,去年 发布日期:2015-07-17 17:10
js实现分页的思路代码 关键词:js,javascript,分页,思路 发布日期:2015-07-29 09:13
js获取url参数值以及使用Jquery函数进行有空格处理 关键词:JS,JavaScript,JQurey,URL,获取参数名,获取参数值,空格处理 发布日期:2015-07-07 17:39
相关目录:.NETJAVAJAVASCRIPT软件开发
我要评论
正在加载评论信息......