Zona de pruebas de Moment.js y migración a Day.js

Prueba los formatos de Moment.js en vivo y ve el equivalente de Day.js lado a lado
  • Los archivos no salen de tu dispositivo
  • Se ejecuta en el navegador
  • Gratis, sin registro ni marca de agua

Moment.js is in maintenance mode, and its own team recommends a modern library for new projects. Day.js keeps nearly the same API in about 2 KB, so every section here also shows the Day.js equivalent.

Moment project statusOpen the Day.js playground

Loading Moment.js…

Format playground

Output
 

Format tokens

Click a token to insert it into the format string. Examples use the reference date and locale.

TokenExampleMeaning
Year and quarter
Four-digit year
Two-digit year
Quarter (1–4)
Quarter, ordinal
Month
Month (1–12)
Month, ordinal
Month, two digits
Month, short name
Month, full name
Day of month and year
Day of month
Day of month, ordinal
Day of month, two digits
Day of year
Day of year, three digits
Day of week
Day of week (0 = Sunday)
Weekday, shortest name
Weekday, short name
Weekday, full name
Day of week, by locale
ISO day of week (1 = Monday)
Week
Week of year, by locale
Week of year, ordinal
Week of year, two digits
ISO week of year
ISO week, two digits
Week-numbering year, by locale
ISO week-numbering year
Hour
Hour, 0–23
Hour, 00–23
Hour, 1–12
Hour, 01–12
Hour, 1–24
Hour, 01–24
Minute and second
Minute
Minute, two digits
Second
Second, two digits
Tenths of a second
Hundredths of a second
Milliseconds
AM / PM
AM / PM
am / pm
Time zone
UTC offset, ±HH:mm
UTC offset, ±HHmm
needs moment-timezoneTime zone abbreviation
needs moment-timezoneTime zone name
Unix time
Unix seconds
Unix milliseconds
Localized formats
Localized time
Localized time with seconds
Localized numeric date
Localized date with month name
Localized date and time
Localized date and time with weekday
Short numeric date
Short date with month name
Short date and time
Short date and time with weekday
Escaping
Text in square brackets is printed as is

Parse playground

Leave empty to parse ISO 8601.

Relative time

Each row shifts the reference date, then describes it relative to the reference with from() and calendar().

Shiftfrom(ref)calendar(ref)
.add(-45, 'second')
.add(-10, 'minute')
.add(-3, 'hour')
.add(-1, 'day')
.add(-5, 'day')
.add(-3, 'month')
.add(-2, 'year')
.add(30, 'minute')
.add(2, 'day')
.add(1, 'month')

Durations

Recipes

Everyday tasks with live results. “Try” loads one into the code runner below.

Moment objects are mutable: add() changes the original. Day.js returns a new object from every operation, so reassign the result.
TaskMoment.js
Format the current time
moment().format('YYYY-MM-DD HH:mm:ss')
→
Add days
moment('2023-01-01').add(1, 'days').format('YYYY-MM-DD')
→
Time from now
moment().subtract(7, 'days').fromNow()
→
First day of this month
moment().startOf('month').format('YYYY-MM-DD')
→
Last day of this year
moment().endOf('year').format('YYYY-MM-DD')
→
Start of this week (locale aware)
moment().startOf('week').format('YYYY-MM-DD ddd')
→
Days between two dates
moment().diff(moment('2022-01-01'), 'days')
→
Days in this month
moment().daysInMonth()
→
Quarter of the year
moment().quarter()
→
Calendar time
moment().add(1, 'days').calendar()
→
Is a date between two others
moment('2024-12-31').isBetween('2024-01-01', '2025-01-01')
→
Is it today
moment().isSame(moment(), 'day')
→
Is it a leap year
moment('2024-01-01').isLeapYear()
→
Validate a date strictly
moment('2023-02-30', 'YYYY-MM-DD', true).isValid()
→
Parse a custom format
moment('13/10/2026 14:30', 'DD/MM/YYYY HH:mm').format()
→
Unix timestamp in seconds
moment().unix()
→
Current time in UTC
moment.utc().format()
→
Time in another time zone
needs moment-timezone
Humanize a duration
moment.duration(90, 'minutes').humanize()
→
Add a month at the end of a month
moment('2026-01-31').add(1, 'months').format('YYYY-MM-DD')
→
Call add() without reassigning
(() => { const d = moment('2026-01-01'); d.add(1, 'days'); return d.format('YYYY-MM-DD') })()
→

Code runner

Type an expression that uses moment. It runs right here in your browser, with every plugin from the recipes enabled and the locale above.

Result

Cómo usar Zona de pruebas de Moment.js y migración a Day.js

Prueba el formato, el análisis, el tiempo relativo y las duraciones de Moment.js, con el resultado de Day.js al lado de cada resultado de Moment. Las diferencias se marcan, para que veas qué cambiaría antes de migrar un código. Las dos bibliotecas se ejecutan en tu navegador.

  1. 1

    Define la Fecha y hora de referencia y un Idioma, y activa Tratar como UTC si tu código usa moment.utc().

  2. 2

    Escribe un patrón en Cadena de formato; la Salida muestra el resultado de Moment y lo que da Day.js, marcado como Misma salida o Salida distinta.

  3. 3

    Revisa la tabla Tokens de formato para los tokens que a Day.js le faltan o para los que necesita un plugin, y haz clic en un token para insertarlo.

  4. 4

    Compara las dos bibliotecas en Zona de pruebas de análisis, Tiempo relativo y Duraciones, donde se resaltan los valores de Day.js que difieren.

  5. 5

    Usa Recetas para ver el código lado a lado de tareas cotidianas, y haz clic en Probar para ejecutar la versión de Moment en el Ejecutor de código.

Preguntas frecuentes

¿Moment.js sigue en mantenimiento?

Moment.js está en modo de mantenimiento, y su propio equipo recomienda una biblioteca moderna para proyectos nuevos. La nota de arriba enlaza a la página de estado del proyecto Moment y a la zona de pruebas de Day.js.

¿Qué suele romperse al pasar a Day.js?

La mutabilidad: add() de Moment cambia el objeto original, mientras que Day.js devuelve uno nuevo, así que hay que reasignar los resultados. Muchas funciones también necesitan plugins de Day.js, que cada receta lista.

¿Qué tokens de formato no tienen equivalente en Day.js?

Qo, Mo, DDD, DDDD, e, E, S y SS. La tabla Tokens de formato los marca como ausentes en Day.js y nombra el plugin necesario para los demás.

¿Por qué los tokens z y zzz no funcionan en Moment?

Los nombres de zona horaria necesitan el complemento aparte moment-timezone, que esta página no carga, así que la tabla muestra necesita moment-timezone. Day.js los ofrece a través de su plugin timezone.

¿Qué versiones se comparan?

Las versiones exactas de Moment.js y Day.js se muestran debajo del panel de ajustes.

¿Mi código se envía a un servidor?

No. Las dos bibliotecas y sus archivos de idioma se cargan en esta página, y todo lo que escribes se evalúa en tu navegador.