Skip to content

Latest commit

 

History

History
491 lines (339 loc) · 14.6 KB

API-reference.md

File metadata and controls

491 lines (339 loc) · 14.6 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()

Gets or sets the year.

dayjs().year()
dayjs().year(2000)

Mes .month()

Gets or sets the month. Starts at 0

dayjs().month()
dayjs().month(0)

Día del mes .date()

Gets or sets the day of the month. Starts at 1

dayjs().date()
dayjs().date(1)

Día de la semana .day()

Gets or sets the day of the week. Starts on Sunday with 0

dayjs().day()
dayjs().day(0)

Hora .hour()

Gets or sets the hour.

dayjs().hour()
dayjs().hour(12)

Minuto .minute()

Gets or sets the minute.

dayjs().minute()
dayjs().minute(59)

Segundo .second()

Gets or sets the second.

dayjs().second()
dayjs().second(1)

Milisegundo .millisecond()

Gets or sets the millisecond.

dayjs().millisecond()
dayjs().millisecond(1)

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') // Depends on `weekStart` in locale

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 (p.ej.: [A] [MM]).

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] YYYY-MM-DDTHH:mm:ssZ[Z]') // 'YYYY 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 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 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

UTC

If you want to parse or display in UTC, you can use .utc .local .isUTC with plugin UTC

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

ToArray

.toArray to return an array that mirrors the parameters

plugin ToArray

ToObject

.toObject to return an object with the date's properties.

plugin ToObject