Parsing, formas de crear un objeto Moment
Moment.js crea un contenedor para el objeto Date. Para obtener este objeto contenedor, simplemente llama a moment() con uno de los tipos de entrada admitidos.
En lugar de modificar el Date.prototype nativo, Moment.js crea un contenedor para el objeto Date. Para obtener este objeto contenedor, simplemente llama a moment() con uno de los tipos de entrada admitidos.
El prototipo Moment se expone a través de moment.fn. Si deseas agregar tus propias funciones, ahí es donde las colocarás.
Para facilitar la referencia, se hará referencia a cualquier método en Moment.prototype en la documentación como moment#method. Entonces Moment.prototype.format == moment.fn.format == moment#format.
Por favor lee:
moment(...)es el modo local. Se supone que la entrada ambigua (sin offset) es la hora local. La entrada inequívoca (con offset) se ajusta a la hora local.moment.utc(...)es el modo utc. Se supone que la entrada ambigua es UTC. La entrada inequívoca se ajusta a UTC.moment.parseZone()mantiene la zona de entrada pasada. Se supone que la entrada ambigua es UTC.moment.tz(...)con el complemento moment-timezone puedes analizar (parse) la entrada en una zona horaria específica.
Ten en cuenta que una zona horaria y un offset de zona horaria son dos cosas diferentes. Un offset de -08:00 no significa necesariamente que se encuentre en la zona horaria del Pacífico de EE. UU.
Consulta la Guía de parse para obtener información adicional.
Obtener la fecha y hora actuales
JavaScript
Para obtener la fecha y hora actuales, simplemente llama a moment() sin parámetros.
JavaScript
Esto es esencialmente lo mismo que llamar a moment(new Date()).
Nota: A partir de la versión 2.14.0, moment([]) y moment({}) también regresan now. Antes de la versión 2.14.0, el valor predeterminado era el inicio de día actual, pero eso era arbitrario, por lo que se cambió.
Nota: Los parámetros de función por defecto son undefined cuando no se pasan. Moment trata moment(undefined) como moment().
Nota: Los moments se crean en el momento de la evaluación, por lo que es posible que moment().diff(moment()) no siempre devuelva 0. Consulta este issue de GitHub para obtener más detalles.
Crear un Moment a partir de una cadena
JavaScript
Al crear un moment a partir de una cadena, primero verificamos si la cadena coincide con los formatos conocidos ISO 8601, luego verificamos si la cadena coincide con RFC 2822 de Fecha y hora antes de pasar al comportamiento por defecto de new Date(string) si no se encuentra un formato conocido.
JavaScript
Advertencia: La compatibilidad del navegador con el parsing de cadenas es inconsistente. Debido a que no existe ninguna especificación sobre qué formatos deben admitirse, lo que funciona en algunos navegadores no funcionará en otros.
Para obtener resultados consistentes al analizar cualquier cosa que no sean cadenas ISO 8601, debes usar Cadena + Formato.
Cadenas ISO 8601 compatibles
Una cadena ISO 8601 requiere una parte de fecha.
2013-02-08 # Una parte de fecha del calendario
2013-02 # Parte de fecha de un mes
2013-W06-5 # Parte de fecha de una semana
2013-039 # Una parte de fecha ordinal
20130208 # Fecha completa básica (corta)
201303 # Básico (corto) año+mes
2013 # Solo año básico (corto)
2013W065 # Semana básica (corta), día laborable
2013W06 # Solo semana básica (corta)
2013050 # Fecha ordinal básica (corta) (año + día del año)
También se puede incluir una parte de hora, separada de la parte de fecha por un espacio o una T mayúscula.
2013-02-08T09 # Una parte horaria separada por una T
2013-02-08 09 # Una parte de hora separada por un espacio
2013-02-08 09:30 # Una parte de hora y minuto
2013-02-08 09:30:26 # Una hora, minuto y segunda parte
2013-02-08 09:30:26.123 # Una parte de tiempo de hora, minuto, segundo y milisegundo
2013-02-08 24:00:00.000 # hora 24, minuto, segundo, milisegundo igual a 0 significa el día siguiente a medianoche
20130208T080910,123 # Fecha y hora cortas hasta ms, separadas por coma
20130208T080910.123 # Fecha y hora cortas hasta ms
20130208T080910 # Fecha y hora cortas hasta segundos
20130208T0809 # Fecha y hora cortas hasta minutos
20130208T08 # Fecha y hora cortas, solo horas
Cualquiera de las partes de fecha puede tener una parte de hora.
2013-02-08 09 # Una parte de fecha del calendario y una parte de hora
2013-W06-5 09 # Una parte de fecha de la semana y una parte de hora
2013-039 09 # Una parte de fecha ordinal y una parte de hora
Si se incluye una parte de tiempo, también se puede incluir un desplazamiento de UTC como +-HH:mm, +-HHmm, +-HH o Z.
2013-02-08 09+07:00 # +-HH:mm
2013-02-08 09-0100 # +-HHmm
2013-02-08 09Z #Z
2013-02-08 09:30:26.123+07:00 # +-HH:mm
2013-02-08 09:30:26.123+07 # +-HH
Nota: Se agregó soporte para los formatos semanales y ordinales en la versión 2.3.0.
Si una cadena no coincide con ninguno de los formatos anteriores y no se puede analizar con Date.parse, moment#isValid devolverá falso.
JavaScript
El formato de fecha y hora RFC 2822
Antes de analizar una fecha y hora RFC 2822, la cadena se limpia para eliminar cualquier comentario y/o carácter de nueva línea. Los caracteres adicionales son legales en el formato pero no añaden nada a la creación de una instancia de moment válida.
Después de la limpieza, la cadena se valida en las siguientes secciones separadas por espacios, todas ellas en inglés:
6 Mar 17 21:22 UT
6 Mar 17 21:22:23 UT
6 Mar 2017 21:22:23 GMT
06 Mar 2017 21:22:23 Z
Mon 06 Mar 2017 21:22:23 z
Mon, 06 Mar 2017 21:22:23 +0000
- Día de la semana en tres letras, seguido de una coma opcional. (opcional)
- Día del mes (1 o 2 dígitos), seguido de un mes de tres letras y un año de 2 o 4 dígitos
- Horas y minutos de dos dígitos separados por dos puntos (:), seguidos opcionalmente de otros dos puntos y segundos de 2 dígitos
- Zona horaria o desplazamiento en uno de los siguientes formatos:
- UT: +0000
- GMT: +0000
- EST | CCT | MST | Hora del Pacífico | hora del Este | CDT | MDT | PDT: zonas horarias de EE. UU.*
- A-I | K - Z: Zonas horarias militares*
- Desplazamiento de tiempo +/-9999
Consulta la sección 4.3 de la especificación para obtener más detalles.
El analizador (parser) también confirma que el día de la semana (cuando se incluye) es coherente con la fecha.
Pasar Cadena + Formato
JavaScript
Si conoces el formato de una cadena de entrada, puedes usarlo para analizar un moment.
JavaScript
El parser ignora los caracteres no alfanuméricos de forma predeterminada, por lo que los siguientes ejemplos devolverán lo mismo.
JavaScript
Es posible que obtengas resultados inesperados al analizar tanto la fecha como la hora. Es posible que el siguiente ejemplo no se analice como esperaba:
JavaScript
Puedes utilizar el modo estricto, que identificará el error de análisis y establecerá el objeto Moment como no válido:
JavaScript
Los tokens de análisis (parsing) son similares a los tokens de formato utilizados en moment#format.
Tokens de año, mes y día
Los tokens distinguen entre mayúsculas y minúsculas.
| Entrada | Ejemplo | Descripción |
|---|---|---|
YYYY | 2014 | Año de 4 o 2 dígitos. Nota: Solo se pueden analizar 4 dígitos en modo strict |
YY | 14 | Año de 2 dígitos |
Y | -25 | Año con cualquier número de dígitos y signo |
Q | 1..4 | Trimestre del año. Establece el mes al primer mes del trimestre. |
M MM | 1..12 | Número de mes |
MMM MMMM | Jan..December | Nombre del mes en la configuración regional establecida por moment.locale() |
D DD | 1..31 | Día del mes |
Do | 1st..31st | Día del mes con ordinal |
DDD DDDD | 1..365 | Día del año |
X | 1410715640.579 | Marca de tiempo (timestamp) de Unix |
x | 1410715640579 | Marca de tiempo (timestamp) de Unix ms |
YYYY desde la versión 2.10.5 admite años de 2 dígitos en modo no strict y los convierte en un año
cerca de 2000 (igual que YY).
Y se agregó en 2.11.1. Coincidirá con cualquier número, con signo o sin signo. Es útil para años que no son de 4 dígitos o son anteriores a la era común. Se puede utilizar para cualquier año.
Tokens de año, semana y día de la semana
Para estos, los tokens en minúsculas usan los días de inicio de la semana que tienen en cuenta la configuración regional (locale) y los tokens en mayúsculas usan los días de inicio de la fecha de la semana ISO.
Los tokens distinguen entre mayúsculas y minúsculas.
| Entrada | Ejemplo | Descripción |
|---|---|---|
gggg | 2014 | Configuración regional 4 dígitos semana año |
gg | 14 | Configuración regional 2 dígitos semana año |
w ww | 1..53 | Semana local del año |
e | 0..6 | Local día de la semana |
ddd dddd | Mon...Sunday | Nombre del día en la configuración regional establecida por moment.locale() |
GGGG | 2014 | Año de la semana ISO de 4 dígitos |
GG | 14 | ISO 2 dígitos semana año |
W WW | 1..53 | Semana ISO del año |
E | 1..7 | Día ISO de la semana |
Formatos compatibles con la configuración regional
Los formatos de fecha y hora compatibles con la configuración regional también están disponibles usando LT LTS L LL LLL LLLL. Se agregaron en la versión 2.2.1, excepto LTS que se agregó 2.8.4.
Los tokens distinguen entre mayúsculas y minúsculas.
| Entrada | Ejemplo | Descripción |
|---|---|---|
L | 09/04/1986 | Fecha (en formato local) |
LL | September 4 1986 | Nombre del mes, día del mes, año. |
LLL | September 4 1986 8:30 PM | Nombre del mes, día del mes, año, hora |
LLLL | Thursday, September 4 1986 8:30 PM | Día de la semana, nombre del mes, día del mes, año, hora |
LT | 8:30 PM | Tiempo (sin segundos) |
LTS | 8:30:00 PM | Tiempo (con segundos) |
Tokens de hora, minutos, segundos, milisegundos y desplazamiento
Los tokens distinguen entre mayúsculas y minúsculas.
| Entrada | Ejemplo | Descripción |
|---|---|---|
H HH | 0..23 | Horas (24 horas) |
h hh | 1..12 | Horas (tiempo de 12 horas usado con a A). |
k kk | 1..24 | Horas (horario de 24 horas del 1 al 24) |
a A | am pm | Post o ante meridiem (ten en cuenta que el carácter a p también se considera válido) |
m mm | 0..59 | Minutos |
s ss | 0..59 | Segundos |
S SS SSS ... SSSSSSSSS | 0..999999999 | Fracciones de segundos |
Z ZZ | +12:00 | Desplazamiento de UTC como +-HH:mm, +-HHmm o Z |
Desde la versión 2.10.5: los tokens de fracciones de segundo con una longitud de 4 a 9 pueden analizar cualquier número de dígitos, pero solo considerarán los 3 primeros (milisegundos). Úsalo si tienes la hora impresa con muchos dígitos fraccionarios y deseas consumir la entrada.
Ten en cuenta que la cantidad de caracteres S proporcionada solo es relevante cuando se analiza en modo estricto.
En el modo estándar, S, SS, SSS, SSSS son todos equivalentes y se interpretan como fracciones de segundo.
Por ejemplo, .12 siempre es 120 milisegundos; pasar SS no hará que se interprete como 12 milisegundos.
Z ZZ se agregaron en la versión 1.2.0.
S SS SSS se agregaron en la versión 1.6.0.
X se agregó en la versión 2.0.0.
SSSSS ... SSSSSSSSS se agregaron en la versión 2.10.5.
k kk se agregaron en la versión 2.13.0.
A menos que especifiques un desplazamiento de zona horaria, el análisis de una cadena creará una fecha en la zona horaria actual.
JavaScript
Tokens relacionados con el año de la era
Los tokens distinguen entre mayúsculas y minúsculas.
| Input | Examples | Description |
|---|---|---|
| y .. yyyy | 5 +5 -500 | Años |
| yo | 5th 1st | Años ordinales |
| N | AD | Nombre abreviado de la era |
| NN | AD | Nombre abreviado de la era |
| NNN | AD | Nombre abreviado de la era |
| NNNN | Anno Domini | Nombre completo de la era |
| NNNNN | AD | Nombre estrecho de era |
El soporte de era se agregó en 2.25.0. Los tokens/API todavía están cambiando.
Notas y trucos
Si el moment resultante de la entrada analizada no existe, moment#isValid devolverá falso.
JavaScript
A partir de la versión 2.0.0, se puede pasar una clave local como tercer parámetro a moment() y moment.utc().
JavaScript
El analizador de Moment es muy indulgente y esto puede provocar un comportamiento no deseado o inesperado.
Por ejemplo, se puede observar el siguiente comportamiento:
JavaScript
Antes de 2.13.0, el analizador mostraba el siguiente comportamiento. Esto ha sido corregido.
JavaScript
A partir de la versión 2.3.0, puedes especificar un valor booleano para el último argumento para que Moment utilice un análisis estricto. El análisis estricto requiere que el formato y la entrada coincidan exactamente, incluidos los delimitadores.
JavaScript
Puedes utilizar tanto la configuración regional (locale) como el modo estricto.
JavaScript
El análisis estricto suele ser la mejor opción de análisis. Para obtener más información sobre cómo elegir un análisis estricto o indulgente, consulta la guía de análisis.
Analizando años de dos dígitos
De forma predeterminada, se supone que los años de dos dígitos por encima de 68 pertenecen a la década de 1900 y los años de 68 o menos pertenecen a la década de 2000. Esto se puede cambiar reemplazando el método moment.parseTwoDigitYear. El único argumento de este método es una cadena que contiene los dos años ingresados por el usuario y debe devolver el año como un número entero.
JavaScript
Analizando horas y minutos pegados
Desde la versión 2.11.0 se admite el análisis de hmm, Hmm, hmmss y Hmmss:
JavaScript
Pasar una Cadena + Formatos
JavaScript
Si no conoces el formato exacto de una cadena de entrada, pero sabes que podría ser una entre muchas, puedes utilizar una variedad de formatos.
Esto es lo mismo que Cadena + Formato, solo que intentará hacer coincidir la entrada con múltiples formatos.
JavaScript
A partir de la versión 2.3.0, Moment utiliza algunas heurísticas simples para determinar qué formato usar. En orden:
- Prefiere los formatos que den como resultado fechas válidas a las no válidas.
- Prefiere formatos que analicen más cadena que menos y usen más formato que menos, es decir, prefiere un análisis más estricto.
- Prefiere formatos anteriores en el array que posteriores.
JavaScript
También puedes especificar un argumento local y estricto. Funcionan igual que el caso de formato único.
JavaScript
Nota: Analizar varios formatos es considerablemente más lento que analizar un solo formato. Si puedes evitarlo, es mucho más rápido analizar un solo formato.
Formatos Especiales
JavaScript
ISO-8601 es un estándar para la visualización de tiempo y duración. Moment ya admite el análisis de cadenas iso-8601, pero esto se puede especificar explícitamente en el formato/lista de formatos al construir un moment.
Para especificar el análisis iso-8601, utiliza la constante moment.ISO_8601.
JavaScript
A partir de la versión 2.20.0, los siguientes formatos HTML5 están disponibles como constantes en la propiedad HTML5_FMT del objeto moment (moment.HTML5_FMT.*):
| Constante | Formato | Ejemplo | Tipo de entrada |
|---|---|---|---|
DATETIME_LOCAL | YYYY-MM-DDTHH:mm | 2017-12-14T16:34 | <input type="datetime-local" /> |
DATETIME_LOCAL_SECONDS | YYYY-MM-DDTHH:mm:ss | 2017-12-14T16:34:10 | <input type="datetime-local" step="1" /> |
DATETIME_LOCAL_MS | YYYY-MM-DDTHH:mm:ss.SSS | 2017-12-14T16:34:10.234 | <input type="datetime-local" step="0.001" /> |
DATE | YYYY-MM-DD | 2017-12-14 | <input type="date" /> |
TIME | HH:mm | 16:34 | <input type="time" /> |
TIME_SECONDS | HH:mm:ss | 16:34:10 | <input type="time" step="1" /> |
TIME_MS | HH:mm:ss.SSS | 16:34:10.234 | <input type="time" step="0.001" /> |
WEEK | GGGG-[W]WW | 2017-W50 | <input type="week" /> |
MONTH | YYYY-MM | 2017-12 | <input type="month" /> |
Pasar un Objecto JavaScript
JavaScript
JavaScript
Puedes crear un moment especificando algunas de las unidades de un objeto.
Las unidades omitidas tienen por defecto 0 o la fecha, mes y año actuales.
Las claves day y date significan el día del mes.
La clave date se agregó en 2.8.4.
Los valores de cadena (como se muestran en la última línea) se admiten desde la versión 2.11.0.
Ten en cuenta que, al igual que moment(Array) y new Date(year, month, date), los meses están indexados desde 0.
Desde Timestamp de Unix (milisegundos)
JavaScript
De manera similar a new Date(Number), puedes crear un momento pasando un valor entero que represente el número de milisegundos desde la época Unix (1 de enero de 1970 a las 12 a. m. UTC).
JavaScript
Nota: ECMAScript llama a esto Valor de tiempo (Time Value)
Desde Timestamp de Unix (segundos)
JavaScript
Para crear un moment a partir de una marca de tiempo de Unix (segundos desde la época de Unix), usa moment.unix(Number).
JavaScript
Esto se implementa como moment(timestamp * 1000), por lo que se incluyen segundos parciales en la marca de tiempo de entrada.
JavaScript
Nota: A pesar de que las marcas de tiempo de Unix están basadas en UTC, esta función crea un objeto moment en modo local. Si necesitas UTC, luego llama a .utc(), como en:
JavaScript
Pasar un objeto Date
JavaScript
Puedes crear un Moment con un objeto Date nativo de Javascript preexistente.
JavaScript
Esto clona el objeto Date; cambios adicionales en el objeto Date no afectarán el Moment, y viceversa.
Pasar un Array
JavaScript
Puedes crear un moment con una serie de números que reflejen los parámetros pasados a new Date()
[year, month, day, hour, minute, second, millisecond]
JavaScript
Cualquier valor posterior al año es opcional y, de forma predeterminada, será el número más bajo posible.
JavaScript
La construcción con un array creará una fecha en la zona horaria actual. Para crear una fecha a partir de un array en UTC, usa moment.utc(Number[]).
JavaScript
Nota: Debido a que esto refleja los parámetros nativos de Date, los meses, horas, minutos, segundos y milisegundos están indexados desde cero. Los años y días del mes están indexados desde 1.
Esto suele ser causa de frustración, especialmente con los meses, ¡así que toma nota!
Si la fecha representada por el array no existe, moment#isValid devolverá falso.
JavaScript
Pasar un ASP.NET JSON Date
JavaScript
Microsoft Web API devuelve fechas JSON en el formato ISO-8601 adecuado de forma predeterminada, pero las tecnologías ASP.NET más antiguas pueden devolver fechas en JSON como /Date(1198908717056)/ o /Date(1198908717056-0700)/
Si se pasa una cadena que coincide con este formato, se analizará correctamente.
JavaScript
Clonar un objeto Moment
JavaScript
Todos los moments son mutables. Si quieres un clon de un moment, puedes hacerlo de forma implícita o explícita.
Llamar a moment() en un moment lo clonará.
JavaScript
Además, puedes llamar a moment#clone para clonar un moment.
JavaScript
El modo UTC
JavaScript
De forma predeterminada, el moment analiza y se muestra en la hora local.
Si deseas analizar o mostrar un moment en UTC, puedes usar moment.utc() en lugar de moment().
Esto nos lleva a una característica interesante de Moment.js, el modo UTC.
Mientras estés en modo UTC, todos los métodos de visualización se mostrarán en hora UTC en lugar de en hora local.
JavaScript
Además, mientras estés en modo UTC, todos los getters y setters utilizarán internamente los métodos Date#getUTC* y Date#setUTC* en lugar de los métodos Date#get* y Date#set*.
JavaScript
Es importante tener en cuenta que, aunque las visualizaciones anteriores difieren, ambas son el mismo momento en el tiempo.
JavaScript
Cualquier moment creado con moment.utc() estará en modo UTC, y cualquier moment creado con moment() no.
Para cambiar de UTC a la hora local, puede utilizar moment#utc o moment#local.
JavaScript
El método parseZone
JavaScript
Las funciones de análisis de cadenas de Moment como moment(string) y moment.utc(string) aceptan información de desplazamiento si se proporciona, pero convierten el objeto Moment resultante a hora local o UTC. Por el contrario, moment.parseZone() analiza la cadena pero mantiene el objeto Moment resultante en una zona horaria con desplazamiento fijo con el desplazamiento proporcionado en la cadena.
JavaScript
También te permite pasar argumentos locales y estrictos.
JavaScript
moment.parseZone es equivalente a analizar la cadena y usar moment#utcOffset para analizar la zona.
JavaScript
Validación de un objeto Moment
JavaScript
Moment aplica reglas de inicialización más estrictas que el constructor Date.
JavaScript
Puedes verificar si Moment considera que la fecha no es válida usando moment#isValid. Puedes verificar las métricas utilizadas por #isValid usando moment#parsingFlags, que devuelve un objeto.
Los siguientes indicadores de análisis dan como resultado una fecha no válida:
overflow: un desbordamiento de un campo de fecha, como un mes 13, un día 32 del mes (o un 29 de febrero en años no bisiestos), un día 367 del año, etc.overflowcontiene el índice de la unidad no válida que debe coincidir con#invalidAt(ver más abajo);-1significa que no hay desbordamiento.invalidMonth: un nombre de mes no válido, comomoment('Marbruary', 'MMMM');. Contiene la cadena del mes no válido o nula.empty: una cadena de entrada que no contiene nada analizable, comomoment('esto no tiene sentido');. Booleano.nullInput: una entradanull, comomoment(null);. Booleano.invalidFormat: una lista vacía de formatos, comomoment('2013-05-25', []). Booleano.userInvalidated: una fecha creada explícitamente como no válida, comomoment.invalid(). Booleano.
Además de lo anterior, a partir de 2.13.0 los indicadores meridiem y parsedDateParts funcionan juntos para determinar la validez de la fecha.
meridiem: Indica qué meridiem (AM/PM) se analizó, si corresponde. Cadena.parsedDateParts: Devuelve un array de partes de fecha analizadas en orden descendente, es decir,parsedDateParts[0]=== año. Si no hay partes presentes, pero el meridiem tiene valor, la fecha no es válida. Array.
Además, si el Moment se analiza en modo estricto, estas banderas deben estar vacías para que el Moment sea válido:
unusedTokens: array de subcadenas de formato no encontradas en la cadena de entradaunusedInput: array de subcadenas de entrada que no coinciden con la cadena de formato
Nota: El concepto de validez de Moment se volvió más estricto y consistente entre 2.2 y 2.3.
Nota: La validez se determina en el momento de la creación. Un moment modificado (es decir, moment().hour(NaN)) seguirá siendo válido.
Además, puedes utilizar moment#invalidAt para determinar qué unidad de fecha se desbordó.
JavaScript
El valor de retorno tiene el siguiente significado:
- años
- meses
- días
- horas
- minutos
- segundos
- milisegundos
Nota: En caso de que haya varias unidades incorrectas, se devuelve la primera (porque la validez de los días puede depender del mes, por ejemplo).
Moments no válidos
Si un momento no es válido, se comporta como un NaN en operaciones de punto flotante.
Todo lo siguiente produce moments no válidos:
invalid.add(unit, value)another.add(invalid)invalid.clone()invalid.diff(another)invalid.endOf(unit)invalid.max(another)another.max(invalid)invalid.min(another)another.min(invalid)invalid.set(unit, value)invalid.startOf(unit)invalid.subtract(unit, value)
Lo siguiente produce una versión localizada de 'InvalidDate':
invalid.format(anyFmt)resulta en'Invalid Date'en el locale actualinvalid.from(another)another.from(invalid)invalid.fromNow(suffix)invalid.to(another)another.to(invalid)invalid.toNow(suffix)invalid.toISOString()(Antes de 2.18.0)invalid.toString()
Lo siguiente devuelve false:
invalid.isAfter(another)invalid.isAfter(invalid)another.isAfter(invalid)invalid.isBefore(another)invalid.isBefore(invalid)another.isBefore(invalid)invalid.isBetween(another, another)invalid.isBetween(invalid, invalid)invalid.isSame(another)invalid.isSame(invalid)another.isSame(invalid)invalid.isSameOrAfter(another)invalid.isSameOrAfter(invalid)another.isSameOrAfter(invalid)invalid.isSameOrBefore(another)invalid.isSameOrBefore(invalid)another.isSameOrBefore(invalid)
Y estos devuelven null o NaN con alguna estructura:
invalid.get(unit)devuelve null, como todos los demás getters con nombreinvalid.toArray() === [NaN, NaN, NaN, NaN, NaN, NaN]invalid.toObject()tiene todos los valores establecidos enNaNinvalid.toDate()devuelve un objeto Date no válidoinvalid.toJSON()retorna nullinvalid.unix()retorna nullinvalid.valueOf()retorna nullinvalid.toISOString()retorna null (A partir de 2.18.0)
Datos de creación
JavaScript
Después de crear un objeto moment, se puede acceder a todas las entradas con el método creationData():
JavaScript
Valores por defecto
JavaScript
Puedes crear un objeto moment especificando solo algunas de las unidades, y el resto será el día, mes o año actual de forma predeterminada, o 0 para horas, minutos, segundos y milisegundos.
Por defecto el momento actual, cuando no se pasa nada:
JavaScript
Por defecto es hoy, cuando solo pasan horas, minutos, segundos y milisegundos:
JavaScript
Valores por defecto para mes y año, cuando solo se pasan días y unidades más pequeñas:
JavaScript
Valores por defecto para año, si no se especifica el año:
JavaScript
© 2026 Esdocu. Contenido bajo licencia MIT.
Editar esta página