-------------------------------------------------- -------------------------------------------------- ---------------------------
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)