fechas
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

fechas

Una simple (muy simple) librería para el manejo de fechas.

Escrita en typescript (y en spanglish)

npm version Build Status Coverage Status


Para instalar:

npm i fechas

Uso

getFormatoFecha

getFormatoFecha (fecha: string): CodigoFormatoFecha;

Obtiene el formato de una fecha dada según los formatos definidos.

Los formatos validos estan definidos en el enum CodigoFormatoFecha y pueden ser estos:

 
/** dd/mm/yyyy */
FMT_ESPANOL = 'ESPANOL',
 
/** dd-mm-yyyy */
FMT_ITALIANO = 'ITALIANO',
 
/** ddmmyyyy */
FMT_PLANO = 'PLANO', 
 
/** yyyy/mm/dd */
FMT_INVERSO = 'INVERSO',
 
/** yyyymmdd */
FMT_INVERSOPLANO = 'INVERSOPLANO'

Ej:

import { getFormatoFecha } from "fechas";
 
getFormatoFecha('03-02-2020'); // ITALIANO
 
getFormatoFecha('2020/03/21'); // INVERSO
 
getFormatoFecha('2020.03.21'); // Error: Formato de fecha invalida
 

validarFecha

validarFecha (fecha: string): CodigoFormatoFecha;

Valida la consistencia de una fecha dada

Ej:

import { validarFecha } from "fechas";
 
validarFecha('36/05/2021'); // Error: Formato de dia invalido
validarFecha('29/02/2021'); // Error: Formato de dia invalido  (año no bisiesto)
validarFecha('29/13/2021'); // Error: Formato de mes invalido
validarFecha('16/06/9021'); // Error: Formato de año invalido
validarFecha('30/08/2021'); // Correcto
 

setFormatoFecha

setFormatoFecha( fecha: string, tipoFormato: CodigoFormatoFecha ) : string;

Asigna alguno de los formatos validos a una fecha dada.

Ej:

import { setFormatoFecha } from "fechas";
 
setFormatoFecha('02/02/2020', CodigoFormatoFecha.FMT_INVERSO); // '2020/02/02'

getUltimoDiaMes

getUltimoDiaMes( fecha: string ): string;

Devuelve el final de mes para cada mes dado en alguno de los formatos validos. Considera años bisiestos.

Ej:

import { getUltimoDiaMes } from "fechas";
 
getUltimoDiaMes('03/02/2020');  // 29/02/2020
 
getUltimoDiaMes('16/03/2020');  // 31/03/2020
 

isBisiesto

isBisiesto(anio:number): boolean;

Indica si el año dado es bisiesto o no.

Ej:

import { isBisiesto } from "fechas";
 
isBisiesto(2020);  //true 
 
isBisiesto(2021);  //false 
 

getDiaHabilSiguiente

getDiaHabilSiguiente(fecha: string, listaFeriados: FormatoFeriados[]); string

Obtiene la próxima fecha hábil dados una fecha y el listado de feriados de su país

Ej:

import { getDiaHabilSiguiente } from "fechas";
 
export interface FormatoFeriados {
    diastring;
    messtring;
    anio?: string
}
 
const feriados: FormatoFeriados[] = [
    {dia : '01', mes : '01'},
    {dia : '01', mes : '05'},
    {dia : '21', mes : '05'},
    {dia : '10', mes : '04', anio : '2020'}
]
 
getDiaHabilSiguiente('28/02/2020',feriados); // '02/03/2020'
 

El uso de la interfaz es opcional pero si esta empleando typescript se recomienda usar tipado de datos.

addDias

addDias (fecha: string, nDias: number): string;

Obtiene una nueva fecha al sumar o restar días.

Ej:

import { addDias } from "fechas";
 
addDias('01/02/2020', 1);   // '02/02/2020'
 
addDias('01/02/2020', 30);  // '02/03/2020'

addDiasHabiles

addDiasHabiles( fecha: string, cantidadDiazHabiles: number, listaFeriados: FormatoFeriados[] ): string;

Dados una fecha válida y un listado de feriados obtiene una nueva fecha hábil, al sumar o restar días hábiles.

Ej:

import { addDiasHabiles } from "fechas";
 
export interface FormatoFeriados {
    diastring;
    messtring;
    anio?: string
}
 
const feriados: FormatoFeriados[] = [
    {dia : '01', mes : '01'},
    {dia : '25', mes : '12'},
    {dia : '25', mes : '12', anio : '2019'}
    {dia : '10', mes : '04', anio : '2020'}
]
 
addDiasHabiles('24/12/2019', 5, feriados);   // '02/01/2020'
 

addMeses

addMeses(fecha: string, nMeses: number): string;

Suma N meses a una fecha sin importar el formato que este tenga, devolviendo una nueva fecha con el resultado de la suma y en el formato que ha sido enviada.

Ej:

import { addMeses } from "fechas";
 
addMeses('01/01/2020', 6); // '01/07/2020'
 
addMeses('01/10/2020', 3); // '01/01/2021'
 

restarFechas

restarFechas ( fecha1: string, fecha2: string ): number;

Obtiene la diferencia en días de dos fechas validas con el mismo formato

Ej:

import { restarFechas } from "fechas";
 
restarFechas('2019/09/14','2019/09/12'); // 2
 
restarFechas('14/09/2019','10/09/2019'); // 4
 

isHabil

isHabil ( fecha: string, listaFeriados: FormatoFeriados[] ): boolean;

Valida que una fecha sea hábil o no dados la fecha y el listado de feriados (de un país) . Valida feriados considerando dd-mm / dd-mm-yyyy y fines de semana.

Ej:

export interface FormatoFeriados {
    diastring;
    messtring;
    anio?: string
}
 
const feriados: FormatoFeriados[] = [
    {dia : '01', mes : '01'},
    {dia : '25', mes : '12'},
    {dia : '10', mes : '04', anio : '2020'}
]
 
isHabil('20/03/2020', feriados);   // true
 
isHabil('10/04/2020', feriados);   // false
 

FIN.

Dependencies (3)

Dev Dependencies (4)

Package Sidebar

Install

npm i fechas

Weekly Downloads

1

Version

0.2.2

License

ISC

Unpacked Size

387 kB

Total Files

82

Last publish

Collaborators

  • luis.elgueta