JS adquisición de esta semana, este mes, este trimestre, año

 

 -------------------------------------------------- -------------------------------------------------- ---------------------------

dateRangUtil.js

/ ** 
* rango de fechas herramientas 
* / 
var dateRangeUtil = (function () { 
    / *** 
    * Corriente de tiempo 
    * / 
    this.getCurrentDate = function () { 
        return new una nueva fecha (); 
    }; 

    / *** 
    * obtenida la semana, hora de inicio y final 
    * / 
    this.getCurrentWeek = function () { 
        // fechas inicial y final gama   
        var = new nueva StartStop el array (); 
        // obtener la hora actual   
        var currentDate this.getCurrentDate = (); 
        // devuelve la fecha de la semana se un solo día   
        var currentDate.getDay Semana = (); 
        // fecha de regreso es un día del mes   
        meses var = currentDate.getDate (); 

        milisegundos // día  
        1000 * 60 milisegundos = var * 60 * 24; 
        // menos el número de días   
        var minusDay = 0 = Semana Semana - 1:!? 6; 
        // Alerta (minusDay);   
        // esta semana Lunes   
        var Lunes = new Date (currentDate .getTime () - (* minusDay milisegundos)); 
        // esta semana Domingo   
        var = new nueva Domingo una fecha (monday.getTime () + (6 milisegundos *)); 
        // Time Añadir esta semana   
        startStop.push (monday.format ( "aaaa-MM-dd" )); // esta semana, hora de inicio   
        // añadir el último día de la semana el tiempo   
        startStop.push (sunday.format ( "aaaa-MM -dd")); // este tiempo final la semana   
        // retorno   
        retorno StartStop; 
    }; 

    / *** 
    * obtener el tiempo de inicio y finalización del mes 
    * / 
    this.getCurrentMonth = function () { 
        // matriz de fechas de inicio y fin  
        StartStop nueva new Array = var (); 
        // Obtener la hora actual   
        var = currentDate this.getCurrentDate (); 
        // Obtener la corriente mes 0-11   
        var = currentMonth currentDate.getMonth (); 
        // Obtener el año en curso de cuatro años   
        var = currentYear currentDate.getFullYear (); 
        // encontrar el primer día del mes   
        var = new nueva FirstDay una fecha (currentYear, currentMonth, 1); 


        // cuando el año es de 12 meses, cuando la necesidad de añadir 1   
        necesidad // marzo ser actualizado a cero es menor el primer mes del año   
        SI (currentMonth == 11) { 
            currentYear ++; 
            currentMonth = 0; // es   
        } else { 
            // de lo contrario sólo aumentó en enero, el primer día del mes siguiente con el fin de buscar la    
            currentMonth ++;
        } 


        // día El número de milisegundos   
        Var milisegundo = 1,000 * 60 * 60 * 24; 
        // el primer día del mes siguiente   
        var = new nueva nextMonthDayOne una fecha (currentYear, la currentMonth ,. 1); 
        // determinado el último día del mes   
        LASTDAY var = new Date (nextMonthDayOne. la getTime () - milisegundo); 

        // añadir a la matriz devuelta   
        startStop.push (firstDay.format ( "el MM-dD-AAAA")); 
        startStop.push (lastDay.format ( "el MM-dD-AAAA")); 
        // devuelve   
        vuelven StartStop; 
    }; 

    / ** 
    * obtenido a partir del cuarto mes 
    * @param meses meses que se calcula 
    *** / 
    this.getQuarterSeasonStartMonth = function (meses el) { 
        var quarterMonthStart = 0; 
        var primavera = 0; / / primavera  
        var verano = 3; // verano   
        // obtener el mes en curso 0-11  
        // otoño; caída var = 6   
        invierno var = 9; // invierno   
        // mes a partir de 0-11   
        IF (mes La <3.) { 
            Retorno de resorte; 
        } 

        IF (mes La <6.) { 
            Volver Summer; 
        } 

        IF (mes La <9. ) { 
            retorno caída; 
        } 

        regresar invierno; 
    }; 

    / ** 
    * número de días en el mes obtuvo 
    el año * @param año 
    * @param meses meses 
    * * / 
    this.getMonthDays = function (año, mes del) { 
        // primer mes 1-31 días   
        var = new nueva relativeDate una fecha (año, mes La ,. 1); 
        var relativeMonth relativeDate.getMonth = ();
        // Obtener el año en curso de cuatro años   
        var = relativeYear relativeDate.getFullYear (); 

        // Cuando el año es de 12 meses, cuando la necesidad de añadir 1   
        necesidad // Marzo ser actualizado a 0 es el primer mes del próximo año   
        si (= relativeMonth . 11 =) { 
            relativeYear ++; 
            relativeMonth = 0; 
        } else { 
            // sólo aumentó o mes, de manera que el primer día del mes siguiente buscando la   
            relativeMonth ++; 
        } 
        // días milisegundos   
        var milisegundo = 1,000 * 60 * 60 * 24; 
        // primer día del mes siguiente   
        var = new nueva nextMonthDayOne una fecha (relativeYear, relativeMonth ,. 1); 
    fechas * obtenido de inicio y final del trimestre 
    * / 
        // rendimientos obtenidos en el último día del mes, día del mes es el número total de  
        una nueva fecha nueva de retorno (nextMonthDayOne.getTime () - milisegundo) .getDate (); 
    }; 

    / ** 
        // obtener la fecha del inicio del trimestre  
    = Función de this.getCurrentSeason () { 
        // fechas inicial y final gama   
        var = new nueva StartStop Array (); 
        // obtener la hora actual   
        var currentDate this.getCurrentDate = (); 
        // obtener la corriente mes 0-11   
        var currentDate.getMonth la currentMonth = ( ); 
        // obtener el año en curso de cuatro años   
        var = currentYear currentDate.getFullYear (); 
        // obtener el trimestre a partir de enero   
        var = quarterSeasonStartMonth this.getQuarterSeasonStartMonth (currentMonth); 
        // obtener el final del mes del trimestre   
        var = quarterSeasonEndMonth quarterSeasonStartMonth + 2; 
        // obtener la fecha del final del trimestre  

        una Fecha de nuevo nuevo quarterSeasonStartDate = var (currentYear, quarterSeasonStartMonth ,. 1); 
        var = new nuevo quarterSeasonEndDate una fecha (currentYear, quarterSeasonEndMonth, this.getMonthDays (currentYear, quarterSeasonEndMonth)); 
        // Añadir matriz devuelta   
        startStop.push (quarterSeasonStartDate.format ( "aaaa-MM -dd ")); 
        startStop.push (quarterSeasonEndDate.format (" el dD-MM-AAAA ")); 
        // devuelve   
        vuelven StartStop; 
    }; 

    / *** 
    * las fechas de inicio y final obtenido de años 
    * 
    * / 
    this.getCurrentYear = function () { 
        // fechas inicial y final gama   
        var = new nueva StartStop el array (); 
        // obtener la hora actual   
        var = currentDate this.getCurrentDate (); 
        // obtener el año en curso 4 años   
        var currentYear currentDate.getFullYear = (); 

        // primer día del año  
        una fecha nueva nueva currentYearFirstDate = var (currentYear, 0 ,. 1); 
        // el último día del año   
        var = new nueva currentYearLastDate una fecha (currentYear ,. 11, 31 es); 
        // se añaden al sistema   
        startStop.push (currentYearFirstDate.format ( "aaaa-MM dd ")); 
        startStop.push (currentYearLastDate.format (" el dD-MM-AAAA ")); 
        // devuelve   
        vuelven StartStop; 
    }; 

    / ** 
    * Devuelve el primer día del mes de tipo Fecha 
    * @param en años 
    * @param meses meses 
    ** / 
    this.getPriorMonthFirstDay = function (año, mes del) { 
            mes los = 11;. // mes es el último mes del año pasado   
            año--; // Guardar 1 año   
        // 0 para el año es, es el primer mes del año , no se puede reducir  
        SI (mes El == 0) { 
            return new una nueva fecha (año, mes La ,. 1); 
        } 
        // de lo contrario, el mes menos el   
        mes--; 
        retorno nueva una nueva fecha (año, mes La ,. 1) ;; 
    }; 

    / ** 
    * obtenido en las fechas de inicio y finales de enero de 
    * *** / 
    this.getPreviousMonth = function () { 
        // fechas inicial y final gama   
        var = new nueva StartStop el array (); 
        // obtener la hora actual   
        var currentDate this.getCurrentDate = (); 
        // get mes en curso 0-11   
        var = currentMonth currentDate.getMonth (); 
        // obtener el año en curso de cuatro años   
        var = currentYear currentDate.getFullYear (); 
        // obtener el primer día del mes  
        this.getPriorMonthFirstDay priorMonthFirstDay = var (currentYear, currentMonth); 
        // obtener el último día del mes anterior   
        var priorMonthLastDay = new Date (priorMonthFirstDay.getFullYear ( ), priorMonthFirstDay.getMonth (), this.getMonthDays (priorMonthFirstDay.getFullYear (), priorMonthFirstDay .getMonth ())); 
        // añadir a la matriz   
        startStop.push (priorMonthFirstDay.format ( "el MM-dD-AAAA")); 
        startStop.push (priorMonthLastDay.format ( "el MM-dD-AAAA")); 
        // Volver   
        volver StartStop; 
    }; 


    / ** 
    fechas * obtenido de inicio y fin de la semana pasada 
    * ** / 
    this.getPreviousWeek = function () { 
        // fechas inicial y final gama   
        var = new nueva StartStop el array (); 
        // obtener la hora actual   
        var currentDate this.getCurrentDate = (); 
        // fecha de regreso es un día de la semana   
        var currentDate.getDay Semana = (); 
        // fecha de retorno es un día del mes   
        var = mes El currentDate.getDate (); 
        // días milisegundos   
        var milisegundo = 1,000 * 60 * 60 * 24; 
        // restar el número de días   
        var minusDay = 0 = semana semana - 1:!? 6; 
        // obtener el primer día de la semana actual   
        currentWeekDayOne var = new Date (currentDate.getTime ( ) - (milisegundos * minusDay )); 
        // la semana pasada, el día antes del último día del comienzo de la semana   
        var = new nueva priorWeekLastDay una fecha (currentWeekDayOne.getTime () - milisegundo); 
        // la semana pasada, el primer día de   
        var priorWeekFirstDay = new Date (priorWeekLastDay.getTime ( ) - (milisegundo * 6)); 

        // añadir a la matriz   
        StartStop .push (priorWeekFirstDay.format ( "aaaa-MM -dd"));
        startStop.push (priorWeekLastDay.format ( "el DD-MM-AAAA")); 

        retorno StartStop; 
    }; 

    / ** 
    * en la fecha de inicio del último trimestre 
    * año de este debe ser obtenido después del cálculo de la cuarta parte del año en curso 
    * este debe ser el mes del trimestre actual después de la operación para obtener el mes de inicio 
    * * / 
    this.getPriorSeasonFirstDay = function (año, mes) { 
        var quarterMonthStart = 0; 
        var la primavera = 0; // primavera   
        var verano = 3; verano //   
        caída var = 6; // otoño   
        invierno var = 9; // invierno   
        // mes a partir de 0-11   
        conmutador (mes del) hecho {// cuarto mes   
            caja de resortes: 
                meses el invierno =; 
                PAUSA; 
                // Si el primer trimestre del año pasado debe ir al invierno  
                año--; 
            Caso de verano: 
                meses El = primavera; 
                PAUSA; 
            Caso Otoño: 
                mes El Verano =; 
                PAUSA; 
            Caso de invierno: 
                el mes Los = Fall; 
                PAUSA; 

        }; 

        retorno nueva una nueva fecha (año, mes La ,. 1); 
    }; 

    / ** 
    * para dar las fechas de inicio y final del trimestre 
    * ** / 
    this.getPreviousSeason = function () { 
        // fechas inicial y final gama   
        var = new nueva StartStop el array (); 
        // obtener la hora actual   
        var currentDate this.getCurrentDate = (); 
        // obtener el mes en curso 0-11  
        currentDate.getMonth la currentMonth = var ();  
        // obtener el año en curso cuatro años  
        var = currentYear currentDate.getFullYear (); 
        // primer día del trimestre   
        var = priorSeasonFirstDay this.getPriorSeasonFirstDay (currentYear, la currentMonth); 
        // trimestre en el último día del   
        var = new Date priorSeasonLastDay (priorSeasonFirstDay.getFullYear (), priorSeasonFirstDay.getMonth () + 2, this.getMonthDays (priorSeasonFirstDay.getFullYear (), priorSeasonFirstDay.getMonth () + 2)); 
        // añadir a la matriz   
        startStop.push (priorSeasonFirstDay.format ( "aaaa dd - MM ")); 
        startStop.push (priorSeasonLastDay.format (" el dD-MM-AAAA ")); 
        retorno StartStop; 
    }; 

    / * 
    * Recuperación de la última fecha de inicio y fin 
    * ** /
    = Función de this.getPreviousYear () { 
    var {O = 
        // array de inicio y fin fechas  
        Startstop Array = new nueva var (); 
        // Obtener la hora actual   
        var currentDate this.getCurrentDate = (); 
        // obtener el año en curso 4 años   
        var currentYear currentDate.getFullYear = (); 
        currentYear--; 
        var = new nueva priorYearFirstDay una fecha (currentYear , 0 ,. 1); 
        var = new nuevo priorYearLastDay una fecha (currentYear ,. 11 ,. 1); 
        // añadir a la matriz   
        startStop.push (priorYearFirstDay.format ( "el MM-dD-AAAA")); 
        startStop.push (priorYearLastDay.format ( "el MM-dD-AAAA")); 
        retorno StartStop; 
    }; 

    devolver el este; 
}) (); 

Date.prototype.format = función (FMT) {
        "M +": this.getMonth () + 1, //月份
        "d +": this.getDate (), //日
        "h +": this.getHours (), //小时
        "M +": this.getMinutes () , //分
        "s +": this.getSeconds (), //秒
        "q +": Math.floor ((this.getMonth () + 3) / 3), //季度
        "S": this.getMilliseconds () //毫秒
    }; 
    si (/ (y +) / test (FMT).) { 
        fmt = fmt.replace (RegExp $ 1, (this.getFullYear () + "") substr (4 - RegExp $ 1.length)...); 
    } 
    For (var k en la o) { 
        si (new RegExp ( "(" + k + ")"). Prueba (FMT)) { 
            fmt = fmt.replace (RegExp. $ 1, (RegExp. 1.length $ 1 == ?) (o [k]): (( "00" + O [k]). substr (( "" + O [k]) de longitud))).; 
        } 
    } 
    Fmt regresar;
}

 

 

Llamar al método:

//周
si (self.time == 1) { 
    self.startTime = dateRangeUtil.getCurrentWeek () [0]; 
    self.endTime = dateRangeUtil.getCurrentWeek () [1]; 
} 
//月
si (self.time == 2) { 
    self.startTime = dateRangeUtil.getCurrentMonth () [0]; 
    self.endTime = dateRangeUtil.getCurrentMonth () [1]; 
} 
//季度
si (self.time == 3) { 
     self.startTime = dateRangeUtil.getCurrentSeason () [0]; 
     self.endTime = dateRangeUtil.getCurrentSeason () [1]; 
} 
//年
si (self.time == 4) { 
      self.startTime = dateRangeUtil.getCurrentYear () [0]; 
      self.endTime = dateRangeUtil.getCurrentYear () [1]; 
}
console.log ( 'horaInicio:' + self.startTime) 
console.log ( 'endTime:' + self.endTime)

  

 

Supongo que te gusta

Origin www.cnblogs.com/liubingyjui/p/12607770.html
Recomendado
Clasificación