Skip to content

Latest commit

 

History

History
489 lines (339 loc) · 15 KB

API-reference.md

File metadata and controls

489 lines (339 loc) · 15 KB

Referencia de la API

En lugar de modificar el Date.prototype nativo, Day.js construye una abstracción sobre el objeto Date: el objeto Dayjs.

El objeto Dayjs es inmutable, por lo que toda operación de la API que altere de alguna forma la información contenida en el objeto Dayjs devolverá una nueva instancia de este.

Análisis

Constructor dayjs(existing?: string | number | Date | Dayjs)

Si se llama al constructor sin parámetros, este devuelve un nuevo objeto Dayjs con la fecha y hora actual.

dayjs();

Day.js también analiza otros formatos de fecha.

Cadena ISO 8601

dayjs("2018-04-04T16:00:00.000Z");

Objeto Date nativo

dayjs(new Date(2018, 8, 18));

Tiempo Unix (milisegundos)

Devuelve un objeto Dayjs a partir de un tiempo unix (milisegundos desde la época Unix).

dayjs(1318781876406);

Tiempo Unix (segundos) .unix(value: number)

Devuelve un objeto Dayjs a partir de un tiempo Unix (segundos desde la época Unix).

dayjs.unix(1318781876);
dayjs.unix(1318781876.721);

Custom Parse Format

Clonar .clone() | dayjs(original: Dayjs)

Devuelve una copia de Dayjs.

dayjs().clone();
dayjs(dayjs("2019-01-25")); // si el constructor recibe un objeto Dayjs también lo clonará

Validación .isValid()

Devuelve un dato de tipo boolean, que indica si la fecha Dayjs es válida o no.

dayjs().isValid();

Get y Set

Año .year()

Devuelve un dato de tipo number, que representa el año del objeto Dayjs.

dayjs().year();

Mes .month()

Devuelve un dato de tipo number, que representa el mes del objeto Dayjs. Se cuenta desde 0, que se corresponde con enero.

dayjs().month();

Día del mes .date()

Devuelve un dato de tipo number, que indica el día del mes del objeto Dayjs. Empieza por el día 1.

dayjs().date();

Día de la semana .day()

Devuelve un dato de tipo number, que indica el día de la semana del objeto Dayjs. Se cuenta desde 0, que se corresponde con el domingo.

dayjs().day();

Hora .hour()

Devuelve un dato de tipo number, que indica la hora del objeto Dayjs.

dayjs().hour();

Minuto .minute()

Devuelve un dato de tipo number, que indica los minutos del objeto Dayjs.

dayjs().minute();

Segundo .second()

Devuelve un dato de tipo number, que indica los segundos del objeto Dayjs.

dayjs().second();

Milisegundo .millisecond()

Devuelve un dato de tipo number, que indica los milisegundos del objeto Dayjs.

dayjs().millisecond();

Set .set(unit: string, value: number)

Devuelve un nuevo objeto Dayjs con los cambios aplicados.

dayjs().set("date", 1);
dayjs().set("month", 3); // Abril
dayjs().set("second", 30);

Lista de unidades disponibles

Unit Abreviatura Descripción
date Día del mes
day d Día de la semana (de domingo 0, a sábado 6)
month M Mes
year y Año
hour h Hora
minute m Minuto
second s Segundo
millisecond ms Milisegundo

Manipulación

Los objetos Dayjs pueden manipularse de diversas formas.

dayjs("2019-01-25")
  .add(1, "day")
  .subtract(1, "year")
  .toString(); // Fri, 26 Jan 2018 00:00:00 GMT

Añadir .add(value: number, unit: string)

Devuelve un nuevo objeto Dayjs, resultante de añadir al actual el tiempo indicado.

dayjs().add(7, "day");

Restar .subtract(value: number, unit: string)

Devuelve un nuevo objeto Dayjs, resultante de restar al actual el tiempo indicado.

dayjs().subtract(7, "year");

Principio de .startOf(unit: string)

Devuelve un nuevo objeto Dayjs, resultante de ajustar el actual al principio de la unidad de tiempo indicada.

dayjs().startOf("week");

Fin de .endOf(unit: string)

Devuelve un nuevo objeto Dayjs, resultante de ajustar el actual al final de la unidad de tiempo indicada.

dayjs().endOf("month");

Presentación

Dar formato .format(stringWithTokens: string)

Devuelve un dato de tipo string con la fecha del objeto Dayjs formateada. Para escapar caracteres, estos se han de encerrar entre corchetes o llaves (p.ej.: [G] {um}).

dayjs().format(); // fecha actual en ISO6801, sin fracciones de segundo p.ej. '2020-04-02T08:02:17-05:00'

dayjs("2019-01-25").format("{YYYY} MM-DDTHH:mm:ssZ[Z]"); // '{2019} 01-25T00:00:00-02:00Z'

dayjs("2019-01-25").format("DD/MM/YYYY"); // '25/01/2019'

Lista de formatos disponibles

Formato Salida Descripción
YY 18 Año, con 2 dígitos
YYYY 2018 Año, con 4 dígitos
M 1-12 Mes, contando desde 1
MM 01-12 Mes, con 2 dígitos
MMM Jan-Dec Nombre abreviado del mes
MMMM January-December Nombre completo del mes
D 1-31 Día del mes
DD 01-31 Día del mes, con 2 dígitos
d 0-6 Día de la semana, siendo el domingo el 0
dd Su-Sa Nombre mínimo del día de la semana
ddd Sun-Sat Nombre abreviado del día de la semana
dddd Sunday-Saturday Nombre del día de la semana
H 0-23 Hora
HH 00-23 Hora, con 2 dígitos
h 1-12 Hora, formato de 12 horas
hh 01-12 Hora, formato de 12 horas, con 2 dígitos
m 0-59 Minutos
mm 00-59 Minutos, con 2 dígitos
s 0-59 Segundos
ss 00-59 Segundos, con 2 dígitos
SSS 000-999 Milisegundos, con 3 dígitos
Z +5:00 Diferencia horaria UTC
ZZ +0500 Diferencia horaria UTC, con 2 dígitos
A AM PM
a am pm

Diferencia .diff(compared: Dayjs, unit: string (predeterminada: 'milliseconds'), float?: boolean)

Devuelve un dato de tipo number, que indica la diferencia existente entre dos objetos Dayjs, expresada en la unidad de tiempo dada.

const date1 = dayjs("2019-01-25");
const date2 = dayjs("2018-06-05");
date1.diff(date2); // 20214000000
date1.diff(date2, "month"); // 7
date1.diff(date2, "month", true); // 7.645161290322581
date1.diff(date2, "day"); // 233

Tiempo Unix (milisegundos) .valueOf()

Devuelve un dato de tipo number, que indica el número de milisegundos transcurridos desde la época Unix para el objeto Dayjs.

dayjs("2019-01-25").valueOf(); // 1548381600000

Tiempo Unix (segundos) .unix()

Devuelve un dato de tipo number, que indica el número de segundos transcurridos desde la época Unix para el objeto Dayjs.

dayjs("2019-01-25").unix(); // 1548381600

UTC Offset (minutos) .utcOffset()

Devuelve el UTC offset en minutos del Dayjs.

dayjs().utcOffset();

Días en el mes .daysInMonth()

Devuelve un dato de tipo number, que indica el número de días contenidos en el mes del objeto Dayjs.

dayjs("2019-01-25").daysInMonth(); // 31

Como objeto Date .toDate()

Devuelve un objeto Date nativo, obtenido a partir del objeto Dayjs.

dayjs("2019-01-25").toDate();

Como array .toArray()

Devuelve un array que reproduce los parámetros de new Date().

dayjs("2019-01-25").toArray(); // [ 2019, 0, 25, 0, 0, 0, 0 ]

Como JSON .toJSON()

Devuelve un objeto Dayjs formateado como una cadena ISO8601.

dayjs("2019-01-25").toJSON(); // '2019-01-25T02:00:00.000Z'

Como cadena ISO 8601 .toISOString()

Devuelve un objeto Dayjs formateado como una cadena ISO8601.

dayjs("2019-01-25").toISOString(); // '2019-01-25T02:00:00.000Z'

Como objecto .toObject()

Devuelve un dato de tipo object, con las propiedades de la fecha.

dayjs("2019-01-25").toObject();
/* { years: 2019,
     months: 0,
     date: 25,
     hours: 0,
     minutes: 0,
     seconds: 0,
     milliseconds: 0 } */

Como cadena .toString()

Devuelve un dato de tipo string, que representa la fecha.

dayjs("2019-01-25").toString(); // 'Fri, 25 Jan 2019 02:00:00 GMT'

Consulta

Anterior a .isBefore(compared: Dayjs, unit?: string)

Devuelve un dato de tipo boolean, que indica si la fecha del objeto Dayjs inicial es anterior o no a la fecha del objeto Dayjs a comparar.

dayjs().isBefore(dayjs()); // false
dayjs().isBefore(dayjs(), "year"); // false

Igual que .isSame(compared: Dayjs, unit?: string)

Devuelve un dato de tipo boolean, que indica si la fecha del objeto Dayjs inicial es igual o no que la fecha del objeto Dayjs a comparar.

dayjs().isSame(dayjs()); // true
dayjs().isSame(dayjs(), "year"); // true

Posterior a .isAfter(compared: Dayjs, unit?: string)

Devuelve un dato de tipo boolean, que indica si la fecha del objeto Dayjs inicial es posterior o no a la fecha del objeto Dayjs a comparar.

dayjs().isAfter(dayjs()); // false
dayjs().isAfter(dayjs(), "year"); // false

Es Dayjs .isDayjs(compared: any)

Devuelve un dato de tipo boolean, que indica si la variable proporcionada es un objeto Dayjs o no.

dayjs.isDayjs(dayjs()); // true
dayjs.isDayjs(new Date()); // false

The operator instanceof works equally well:

dayjs() instanceof dayjs; // true

API de complementos

RelativeTime

.from .to .fromNow .toNow para obtener el tiempo relativo

complemento RelativeTime

IsLeapYear

.isLeapYear para saber si se trata de un año bisiesto o no

complemento IsLeapYear

WeekOfYear

.week para obtener la semana del año

complemento WeekOfYear

IsSameOrAfter

.isSameOrAfter to check if a date is same of after another date

plugin IsSameOrAfter

IsSameOrBefore

.isSameOrBefore to check if a date is same of before another date.

plugin IsSameOrBefore

IsBetween

.isBetween para comprobar si una fecha se encuentra entre otras dos fechas dadas

complemento IsBetween

QuarterOfYear

.quarter to get quarter of the year

plugin QuarterOfYear