navidev-date-and-time
Version:
Utilidades de fecha y hora
111 lines (110 loc) • 3.63 kB
TypeScript
interface DateTimeComponents {
[key: string]: number;
}
/**
* Clase con utilidades de fecha y hora.
* Código basado en la librería: https://github.com/knowledgecode/date-and-time, pero
* adaptado para que funcione en typescript
*/
export default class DateUtils {
private parsers;
constructor();
/**
* Transforma una fecha pasada con un formato determinado a otro formato
* @param dateString | Fecha
* @param arg1 | formato de la fecha
* @param arg2 | formato a convertir
* @param utc | salida en UTC
* @return fecha formateada
*/
transform(dateString: string, arg1: string, arg2: string, utc?: boolean): string;
/**
* formatea una fecha a string, segun el formato pasado
* @param dateObj | Fecha
* @param formatter | Formato
* @param utc | Salida como UTC
*/
format(dateObj: Date, formatter: string, utc?: boolean): string;
/**
* Transforma una fecha string a objeto fecha
* @param dateString Fecha
* @param arg formato de la fecha
* @param utc Salida en UTC
* @returns Objeto fecha
*/
parse(dateString: string, arg: string, utc?: boolean): Date;
/**
* Añade o resta días a una fecha
* @param dateObj | Objeto fecha
* @param months | Numero de segundos
* @param utc | Calculo como UTC
* @returns
*/
addMonths(dateObj: Date, months: number, utc?: boolean): Date;
/**
* Añade o resta días a una fecha
* @param dateObj | Objeto fecha
* @param days | Numero de segundos
* @param utc | Calculo como UTC
* @returns
*/
addDays(dateObj: Date, days: number, utc?: boolean): Date;
/**
* Añade o resta horas a una fecha
* @param dateObj | Objeto fecha
* @param hours | Numero de segundos
* @param utc | Calculo como UTC
* @returns
*/
addHours(dateObj: Date, hours: number, utc?: boolean): Date;
/**
* Añade o resta minutos a una fecha
* @param dateObj | Objeto fecha
* @param minutes | Numero de segundos
* @param utc | Calculo como UTC
* @returns
*/
addMinutes(dateObj: Date, minutes: number, utc?: boolean): Date;
/**
* Añade o resta segundos a una fecha
* @param dateObj | Objeto fecha
* @param seconds | Numero de segundos
* @param utc | Calculo como UTC
* @returns
*/
addSeconds(dateObj: Date, seconds: number, utc?: boolean): Date;
/**
* Añade o resta milisegundos a una fecha
* @param dateObj | Objeto fecha
* @param milliseconds | Numero de milisegundos
* @param utc | Calculo como UTC
* @returns
*/
addMilliseconds(dateObj: Date, milliseconds: number, utc?: boolean): Date;
/**
* Extrae las partes del formato
* @param formatString | formato
* @returns Array con el formato separado en un array
*/
protected compile(formatString: string): string[];
/**
* Realiza el pre-parse de la fecha en base al formato pasado
* @param dateString | Fecha
* @param arg | Formato de la fecha
* @returns Estructura con los datos de la fecha pasada
*/
protected preparse(dateString: string, arg: string): DateTimeComponents;
/**
* Devuelve si el año es bisiesto
* @param y | Año
* @returns Booleano si es bisiesto
*/
protected isLeapYear: (y: number) => boolean;
/**
* Devuelve si la fecha en componentes es valida
* @param dt | Fecha en componentes
* @returns booleano si la fecha es valida
*/
protected isValid: (dt: DateTimeComponents) => boolean;
}
export {};