Cómo realizar consultas a un objeto Moment
Para consultar a un objeto Moment para conocer su estado o comparar su valor con otro objeto Moment, Moment.js cuenta con una serie de métodos útiles.
En ocasiones necesitaremos realizar consultas a un objeto Moment para conocer su estado o comparar su valor con otro objeto Moment, para estos casos Moment.js cuenta con una serie de métodos útiles.
El método isBefore
JavaScript
Comprueba si un moment es anterior a otro moment. El primer argumento se analizará como un moment, si no lo es ya.
JavaScript
Si deseas limitar la granularidad a una unidad que no sea milisegundos, pasa las unidades como segundo parámetro.
Como el segundo parámetro determina la precisión, y no solo un valor a verificar, el uso de day verificará el año, el mes y el día.
JavaScript
Al igual que moment#isAfter y moment#isSame, cualquiera de las unidades de tiempo que se admiten para moment#startOf se admiten para moment#isBefore.
year month week isoWeek day hour minute second
Si no se pasa nada a moment#isBefore, la hora actual será la hora predeterminada.
NOTA: moment().isBefore() tiene un comportamiento indefinido y no debe usarse. Si el código se ejecuta rápido, el momento inicial creado sería el mismo que el creado en isBefore para realizar la verificación, por lo que el resultado sería false. Pero si el código se ejecuta más lento, es posible que el momento creado en isBefore sea mensurablemente posterior al creado en moment(), por lo que la llamada devolvería true.
El método isSame
JavaScript
Comprueba si un moment es igual a otro moment. El primer argumento se analizará como un moment, si no lo es ya.
JavaScript
Si deseas limitar la granularidad a una unidad que no sea milisegundos, pásala como segundo parámetro.
JavaScript
Al incluir un segundo parámetro, coincidirá con todas las unidades iguales o mayores. Al pasar month, se verificarán month y year. Al pasar day, se verificarán day, month y year.
JavaScript
Al igual que moment#isAfter y moment#isBefore, cualquiera de las unidades de tiempo admitidas para moment#startOf también lo son para moment#isSame.
year month week isoWeek day hour minute second
Si los dos moments tienen zonas horarias diferentes, se utilizará la zona horaria del primer moment para la comparación.
JavaScript
NOTA: moment().isSame() tiene un comportamiento indefinido y no debe usarse. Si el código se ejecuta rápido, el moment inicial creado sería el mismo que el creado en isSame para realizar la verificación, por lo que el resultado sería true. Pero si el código se ejecuta más lento, es posible que el momento creado en isSame sea considerablemente posterior al creado en moment(), por lo que la llamada devolvería false.
El método isAfter
JavaScript
Comprueba si un moment es posterior a otro moment. El primer argumento se analizará como un moment, si no lo es ya.
JavaScript
Si deseas limitar la granularidad a una unidad que no sea milisegundos, pase las unidades como segundo parámetro.
Como el segundo parámetro determina la precisión, y no solo un valor a verificar, el uso de day verificará el año, el mes y el día.
JavaScript
Al igual que moment#isSame y moment#isBefore, cualquiera de las unidades de tiempo que se admiten para moment#startOf se admiten para moment#isAfter.
year month week isoWeek day hour minute second
Si no se pasa nada a moment#isAfter, la hora actual será la predeterminada.
JavaScript
El método isSameOrBefore
JavaScript
Comprueba si un moment es anterior o igual a otro moment. El primer argumento se analizará como un moment, si no lo es ya.
JavaScript
Si deseas limitar la granularidad a una unidad que no sea milisegundos, pasa las unidades como segundo parámetro.
Como el segundo parámetro determina la precisión, y no solo un valor a verificar, el uso de day verificará el año, el mes y el día.
JavaScript
Al igual que moment#isAfter y moment#isSame, cualquiera de las unidades de tiempo admitidas para moment#startOf también lo son para moment#isSameOrBefore:
year month week isoWeek day hour minute second
El método isSameOrAfter
JavaScript
Comprueba si un moment es posterior o igual a otro moment. El primer argumento se analizará como un moment, si no lo es ya.
JavaScript
Si deseas limitar la granularidad a una unidad que no sea milisegundos, pasa las unidades como segundo parámetro.
Como el segundo parámetro determina la precisión, y no solo un valor a verificar, el uso de day verificará el año, el mes y el día.
JavaScript
Al igual que moment#isSame y moment#isBefore, cualquiera de las unidades de tiempo admitidas para moment#startOf también lo son para moment#isSameOrAfter:
year month week isoWeek day hour minute second
El método isBetween
JavaScript
Compruebe si un moment está entre otros dos moments, opcionalmente mirando la escala de unidades (minutos, horas, días, etc.). El match es exclusivo. Los dos primeros argumentos se analizarán como moments, si no lo han sido ya.
JavaScript
Ten en cuenta que el orden de los dos argumentos es importante: la fecha "más pequeña" debe estar en el primer argumento.
JavaScript
Si deseas limitar la granularidad a una unidad que no sea milisegundos, pasa las unidades como tercer parámetro.
JavaScript
Al igual que moment#isSame, moment#isBefore, moment#isAfter, cualquiera de las unidades de tiempo que se admiten para moment#startOf se admiten para moment#isBetween: year, month, week, isoWeek, day, hour, minute, y second.
La versión 2.13.0 introduce la inclusión. Un [ indica la inclusión de un valor. Un ( indica exclusión.
Si se utilizas el parámetro de inclusión, se deben pasar ambos indicadores.
JavaScript
Ten en cuenta que en el caso de que los parámetros from y to sean los mismos, pero los parámetros de inclusión sean diferentes, prevalecerá false.
JavaScript
Si no se especifica el parámetro de inclusión, Moment utilizará de forma predeterminada ().
El método isDST (Is Daylight Saving Time)
JavaScript
moment#isDST comprueba si el moment actual está en horario de verano.
NOTA: Esta función es un HACK. El moment no tiene forma de saber si una hora determinada está en horario de verano real o no. Algunos cambios de hora en una zona están relacionados con el horario de verano, otros no, y sin información completa de la zona horaria no se puede saber.
Moment actualmente verifica el horario de invierno y verano, y si el desplazamiento coincide con el desplazamiento de verano (y el horario de verano es diferente al de invierno), entonces informa el horario de verano. Esto funciona en la gran mayoría de los casos, pero como se mencionó anteriormente, no es "correcto" y no funcionará en todos los casos.
El evento moment-timezone (en el momento de escribir 0.5.37) no admite información DST (es decir, si el reloj está oficialmente en horario de verano en un momento determinado o no), por lo que para que las cosas mejoren, se han agregado algunas cosas nuevas (y el paquete tzdata) que tienen que suceder en moment-timezone.
JavaScript
El método isDSTShifted
JavaScript
Nota: A partir de la versión 2.14.0, esta función está obsoleta. No da la respuesta correcta después de modificar el objeto de moment. Para obtener más información, consulta moment/3160
Otra parte importante de la validación es saber si la fecha ha sido movida por un horario de verano. Por ejemplo, en la mayor parte de los Estados Unidos:
JavaScript
Esto se debe a que el horario de verano cambia la hora de 2:00 a 3:00, por lo que 2:30 no es una hora real. El tiempo resultante depende del navegador, ya sea ajustando el tiempo hacia adelante o hacia atrás. Utiliza moment#isDSTShifted para probar esta condición.
Nota: antes de 2.3.0, los objetos Moment en esta condición siempre devolvían false para moment#isValid; ahora devuelven true.
El método isLeapYear
JavaScript
moment#isLeapYear devuelve true si ese año es bisiesto, y false si no lo es.
JavaScript
El método isMoment
JavaScript
Para comprobar si una variable es un objeto de moment, utiliza moment.isMoment().
JavaScript
Desde la versión 2.11.0, también puedes probar un objeto Moment mediante el operador instanceof:
JavaScript
El método isDate
JavaScript
Para comprobar si una variable es un objeto Date nativo, utiliza moment.isDate().
JavaScript
© 2026 Esdocu. Contenido bajo licencia MIT.
Editar esta página