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.

    Install

    npm i fechas

    DownloadsWeekly Downloads

    16

    Version

    0.2.2

    License

    ISC

    Unpacked Size

    387 kB

    Total Files

    82

    Last publish

    Collaborators

    • luis.elgueta