`

js获取 本周,本月,本季度,本年,上月,上周,上季度,去年

 
阅读更多
/** 
 * 针对Ext的工具类 
 */  
var MrYangUtil=function(){  
    /*** 
     * 获得当前时间 
     */  
    this.getCurrentDate=function(){  
        return new Date();  
    };  
    /*** 
     * 获得本周起止时间 
     */  
    this.getCurrentWeek=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //返回date是一周中的某一天  
        var week=currentDate.getDay();  
        //返回date是一个月中的某一天  
        var month=currentDate.getDate();  
      
        //一天的毫秒数  
        var millisecond=1000*60*60*24;  
        //减去的天数  
        var minusDay=week!=0?week-1:6;  
        //alert(minusDay);  
        //本周 周一  
        var monday=new Date(currentDate.getTime()-(minusDay*millisecond));  
        //本周 周日  
        var sunday=new Date(monday.getTime()+(6*millisecond));  
        //添加本周时间  
        startStop.push(monday);//本周起始时间  
        //添加本周最后一天时间  
        startStop.push(sunday);//本周终止时间  
        //返回  
        return startStop;  
    };  
      
    /*** 
     * 获得本月的起止时间 
     */  
    this.getCurrentMonth=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //获得当前月份0-11  
        var currentMonth=currentDate.getMonth();  
        //获得当前年份4位年  
        var currentYear=currentDate.getFullYear();  
        //求出本月第一天  
        var firstDay=new Date(currentYear,currentMonth,1);  
          
  
        //当为12月的时候年份需要加1  
        //月份需要更新为0 也就是下一年的第一个月  
        if(currentMonth==11){  
            currentYear++;  
            currentMonth=0;//就为  
        }else{  
            //否则只是月份增加,以便求的下一月的第一天  
            currentMonth++;  
        }  
     
          
        //一天的毫秒数  
        var millisecond=1000*60*60*24;  
        //下月的第一天  
        var nextMonthDayOne=new Date(currentYear,currentMonth,1);  
        //求出上月的最后一天  
        var lastDay=new Date(nextMonthDayOne.getTime()-millisecond);  
          
        //添加至数组中返回  
        startStop.push(firstDay);  
        startStop.push(lastDay);  
        //返回  
        return startStop;  
    };  
      
    /** 
     * 得到本季度开始的月份 
     * @param month 需要计算的月份 
     ***/  
    this.getQuarterSeasonStartMonth=function(month){  
        var quarterMonthStart=0;  
        var spring=0; //春  
        var summer=3; //夏  
        var fall=6;   //秋  
        var winter=9;//冬  
        //月份从0-11  
        if(month<3){  
            return spring;  
        }  
          
        if(month<6){  
            return summer;  
        }  
          
        if(month<9){  
            return fall;  
        }  
          
        return winter;  
    };  
      
    /** 
     * 获得该月的天数 
     * @param year年份 
     * @param month月份 
     * */  
    this.getMonthDays=function(year,month){  
        //本月第一天 1-31  
        var relativeDate=new Date(year,month,1);  
        //获得当前月份0-11  
        var relativeMonth=relativeDate.getMonth();  
        //获得当前年份4位年  
        var relativeYear=relativeDate.getFullYear();  
          
        //当为12月的时候年份需要加1  
        //月份需要更新为0 也就是下一年的第一个月  
        if(relativeMonth==11){  
            relativeYear++;  
            relativeMonth=0;  
        }else{  
            //否则只是月份增加,以便求的下一月的第一天  
            relativeMonth++;  
        }  
        //一天的毫秒数  
        var millisecond=1000*60*60*24;  
        //下月的第一天  
        var nextMonthDayOne=new Date(relativeYear,relativeMonth,1);  
        //返回得到上月的最后一天,也就是本月总天数  
        return new Date(nextMonthDayOne.getTime()-millisecond).getDate();  
    };  
      
    /** 
     * 获得本季度的起止日期 
     */  
    this.getCurrentSeason=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //获得当前月份0-11  
        var currentMonth=currentDate.getMonth();  
        //获得当前年份4位年  
        var currentYear=currentDate.getFullYear();  
        //获得本季度开始月份  
        var quarterSeasonStartMonth=this.getQuarterSeasonStartMonth(currentMonth);  
        //获得本季度结束月份  
        var quarterSeasonEndMonth=quarterSeasonStartMonth+2;  
          
        //获得本季度开始的日期  
        var quarterSeasonStartDate=new Date(currentYear,quarterSeasonStartMonth,1);  
        //获得本季度结束的日期  
        var quarterSeasonEndDate=new Date(currentYear,quarterSeasonEndMonth,this.getMonthDays(currentYear, quarterSeasonEndMonth));  
        //加入数组返回  
        startStop.push(quarterSeasonStartDate);  
        startStop.push(quarterSeasonEndDate);  
        //返回  
        return startStop;  
    };  
      
    /*** 
     * 得到本年的起止日期 
     *  
     */  
    this.getCurrentYear=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //获得当前年份4位年  
        var currentYear=currentDate.getFullYear();  
          
        //本年第一天  
        var currentYearFirstDate=new Date(currentYear,0,1);  
        //本年最后一天  
        var currentYearLastDate=new Date(currentYear,11,31);  
        //添加至数组  
        startStop.push(currentYearFirstDate);  
        startStop.push(currentYearLastDate);  
        //返回  
        return startStop;  
    };  
      
    /** 
     * 返回上一个月的第一天Date类型 
     * @param year 年 
     * @param month 月 
     **/  
    this.getPriorMonthFirstDay=function(year,month){  
        //年份为0代表,是本年的第一月,所以不能减  
        if(month==0){  
            month=11;//月份为上年的最后月份  
            year--;//年份减1  
            return new Date(year,month,1);  
        }  
        //否则,只减去月份  
        month--;  
        return new Date(year,month,1);;  
    };  
      
    /** 
     * 获得上一月的起止日期 
     * ***/  
    this.getPreviousMonth=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //获得当前月份0-11  
        var currentMonth=currentDate.getMonth();  
        //获得当前年份4位年  
        var currentYear=currentDate.getFullYear();  
        //获得上一个月的第一天  
        var priorMonthFirstDay=this.getPriorMonthFirstDay(currentYear,currentMonth);  
        //获得上一月的最后一天  
        var priorMonthLastDay=new Date(priorMonthFirstDay.getFullYear(),priorMonthFirstDay.getMonth(),this.getMonthDays(priorMonthFirstDay.getFullYear(), priorMonthFirstDay.getMonth()));  
        //添加至数组  
        startStop.push(priorMonthFirstDay);  
        startStop.push(priorMonthLastDay);  
        //返回  
        return startStop;  
    };  
      
      
    /** 
     * 获得上一周的起止日期 
     * **/  
    this.getPreviousWeek=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //返回date是一周中的某一天  
        var week=currentDate.getDay();  
        //返回date是一个月中的某一天  
        var month=currentDate.getDate();  
        //一天的毫秒数  
        var millisecond=1000*60*60*24;  
        //减去的天数  
        var minusDay=week!=0?week-1:6;  
        //获得当前周的第一天  
        var currentWeekDayOne=new Date(currentDate.getTime()-(millisecond*minusDay));  
        //上周最后一天即本周开始的前一天  
        var priorWeekLastDay=new Date(currentWeekDayOne.getTime()-millisecond);  
        //上周的第一天  
        var priorWeekFirstDay=new Date(priorWeekLastDay.getTime()-(millisecond*6));  
          
        //添加至数组  
        startStop.push(priorWeekFirstDay);  
        startStop.push(priorWeekLastDay);  
          
        return startStop;  
    };  
      
    /** 
     * 得到上季度的起始日期 
     * year 这个年应该是运算后得到的当前本季度的年份 
     * month 这个应该是运算后得到的当前季度的开始月份 
     * */  
    this.getPriorSeasonFirstDay=function(year,month){  
        var quarterMonthStart=0;  
        var spring=0; //春  
        var summer=3; //夏  
        var fall=6;   //秋  
        var winter=9;//冬  
        //月份从0-11  
        switch(month){//季度的其实月份  
        case spring:  
            //如果是第一季度则应该到去年的冬季  
              year--;  
              month=winter;  
            break;  
        case summer:  
            month=spring;  
            break;  
        case fall:  
            month=summer;  
            break;  
        case winter:  
            month=fall;  
            break;  
              
        };  
          
        return new Date(year,month,1);  
    };  
      
    /** 
     * 得到上季度的起止日期 
     * **/  
    this.getPreviousSeason=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //获得当前月份0-11  
        var currentMonth=currentDate.getMonth();  
        //获得当前年份4位年  
        var currentYear=currentDate.getFullYear();  
        //上季度的第一天  
        var priorSeasonFirstDay=this.getPriorSeasonFirstDay(currentYear, currentMonth);  
        //上季度的最后一天  
        var priorSeasonLastDay=new Date(priorSeasonFirstDay.getFullYear(),priorSeasonFirstDay.getMonth()+2,this.getMonthDays(priorSeasonFirstDay.getFullYear(), priorSeasonFirstDay.getMonth()+2));  
        //添加至数组  
        startStop.push(priorSeasonFirstDay);  
        startStop.push(priorSeasonLastDay);  
        return startStop;  
    };  
      
    /** 
     * 得到去年的起止日期 
     * **/  
    this.getPreviousYear=function(){  
        //起止日期数组  
        var startStop=new Array();  
        //获取当前时间  
        var currentDate=this.getCurrentDate();  
        //获得当前年份4位年  
        var currentYear=currentDate.getFullYear();  
            currentYear--;  
        var priorYearFirstDay=new Date(currentYear,0,1);  
        var priorYearLastDay=new Date(currentYear,11,1);  
        //添加至数组  
        startStop.push(priorYearFirstDay);  
        startStop.push(priorYearLastDay);  
        return startStop;  
    };  
      
      
      
      
      
};  
分享到:
评论

相关推荐

    用php获取本周,上周,本月,上月,本季度日期的代码

    在PHP编程中,获取特定时间范围的日期是常见的需求,比如获取本周、上周、本月、上月以及本季度的日期范围。这些功能可以帮助开发者在处理数据统计、报表生成或者时间相关的业务逻辑时更加便捷。下面将详细介绍如何...

    java获取日期 本周本年 本月 上一年

    java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年...

    c#_根据当前时间获取_本周_本月_本季度_月初_月末_各个时间段

    本文将深入探讨如何使用C#中的DateTime类来获取当前时间,并基于此计算本周、本月、本季度以及月初、月末等各个时间段的具体日期。这对于进行时间序列数据分析、报表生成、日程安排等多种场景都具有重要的应用价值。...

    C#中的DateTime:本周,本月,本年,本周第一天

    无论是获取本周、本月还是本年的时间范围,还是计算昨天、明天或者上一周等特定日期,都可以通过简单的函数调用来完成。熟练掌握这些方法,可以极大地提高开发效率并减少出错的可能性。希望本文能对你理解和使用C#中...

    DateTime类 实现本年 本月 本季度等

    在本文中,我们将详细探讨如何使用DateTime类来获取“本年”、“本月”、“本季度”等信息。 1. 获取本年: 获取本年的日期可以通过访问DateTime.Now.Year属性来实现。例如,`DateTime.Now.Year`将返回当前日期的...

    java 获取时间 本周本年本月第一天最后一天

    ### Java 获取时间:本周、本年、本月的第一天与最后一天 在Java中,通过`Calendar`类可以方便地操作日期。以下将详细介绍如何利用`Calendar`类来获取本周、本年、本月的第一天和最后一天的具体实现方法。 #### ...

    Sql语句 查询本周记录\本月记录\本季度记录\本年记录

    SQL 语句查询本周记录、本月记录、本季度记录、本年记录是数据库查询中常见的操作。本文将为您提供 MySQL 和 SQL Server 两种数据库管理系统的查询语句,帮助您快速实现这些查询操作。 查询本周记录 MySQL 中,您...

    asp.net 取本日,本周,本月,本年的时间段

    ### ASP.NET 获取本日、本周、本月、本年的起止时间 在开发基于ASP.NET的应用程序时,我们经常需要处理日期和时间相关的功能。本文将详细介绍如何在ASP.NET应用程序中获取当前日期、本周、本月以及本年的起始时间和...

    sql server 查询当天,本周,本月,本年,30天内的数据的sql语句

    sql server 查询当天,本周,本月,本年,30天内的数据的sql语句

    JS获取当天是本年的第几周和本周的起始日期

    在JavaScript中,获取当前日期是本年的第几周以及本周的起始日期是一个常见的需求,特别是在日历应用或者数据分析中。下面将详细解释如何通过JS实现这个功能,并且考虑到周的起始日期可以自定义,这里设定为礼拜四...

    获得今天,本周本月,本年内的时间

    在IT行业中,获取特定时间范围的数据是常见的需求,如今天、本周、本月和本年内的时间。这涉及到日期和时间处理,这是编程中的基础概念,尤其在数据分析、日志记录、报表生成等领域至关重要。以下将详细解释如何在...

    java获取本月的开始时间\结束时间、获取上月的开始时间\结束时间、获取本年的开始时间\结束时间、获取某个日期的开始时间\结束时

    java获取本月的开始时间\结束时间、获取上月的开始时间\结束时间、获取本年的开始时间\结束时间、获取某个日期的开始时间\结束时间、获取今年是哪一年、获取本月是哪一月

    ORACLE获取周月季年的第一天和最后一天

    以下将详细解释如何使用SQL语句来获取周、月、季、年以及上月、前一天、上一小时的开始和结束日期。 1. **本周** 获取本周的第一天,可以使用`TRUNC`函数结合日期部分'W'或'd'(代表星期)。'd'会返回周内的第一天...

    mysql 查询当天、本周、当月、本季度等数据

    本文将详细介绍如何使用SQL语句查询当天、本周、当月、本季度以及本年的数据。 首先,我们来看如何查询当天的数据。MySQL提供了`CURDATE()`函数来获取当前日期,`TO_DAYS()`函数可以将日期转换为天数。以下两种方式...

    Mysql练习7:按季度统计本年发布的房屋出租数量.zip

    在本个MySQL练习中,我们将探讨如何按照季度统计本年度发布的房屋出租数量。这涉及到对时间数据的操作,子查询的运用以及数据库查询优化。在实际的房地产管理或数据分析场景中,这样的统计信息对于理解市场动态、...

    基于Java语言编写的Spring Boot时间工具类方法封装

    当前的日期、根据指定日期得获取对应年份的所有月的日期、获取月初时间、获取月末时间、获取当天的起始时间、获取当天的结束时间、获取昨天的开始时间、获取昨天的结束时间、当前季度的开始时间、当前季度的结束时间...

    C#获取时间

    本文将深入探讨如何使用 C# 的 `DateTime` 类来获取当前时间,并进一步提取本周、本月、本季度等不同时间段的具体日期。通过理解和运用这些技巧,可以更加高效地管理日期和时间相关的业务逻辑。 #### 1. 当前时间的...

    java日期获得.pdf

    Java日期处理是编程中常见的需求,此代码示例展示了如何在Java中操作日期,包括获取当前日期、本周、本月、本年以及特定日期之间的天数差异。以下是对这些知识点的详细解释: 1. **日期时间类**:Java中的日期时间...

    java时间工具TimeUtil

    获取本季度最后一天:" + tt.getThisSeasonFinallyTime(11)); 获取两个日期之间间隔天数 获取当前月的第几周:" + tt.getWeekOfMonth()); 获取当前年份:" + tt.getYear()); 获取当前月份:" + tt.getMonth()); 获取...

    Java获取各种时间

    - `getThisSeasonTime(int month)`:获取本季度第一天到最后一天的日期范围,这需要根据给定的月份确定季度。 此外,`TimeTest.getTwoDay()`方法用于计算两个日期之间的间隔天数,这可以通过将日期转换为毫秒,然后...

Global site tag (gtag.js) - Google Analytics