MomentJS - Guía rápida
MomentJS es una biblioteca de JavaScript que ayuda a analizar, validar, manipular y mostrar la fecha / hora en JavaScript de una manera muy fácil. Este capítulo proporcionará una descripción general de MomentJS y analiza sus características en detalle.
Moment JS permite mostrar la fecha según la localización y en formato legible por humanos. Puede usar MomentJS dentro de un navegador usando el método de script. También está disponible con Node.js y se puede instalar usando npm.
En MomentJS, puede encontrar muchos métodos fáciles de usar para agregar, restar, validar la fecha, obtener la fecha máxima, mínima, etc. Es un proyecto de código abierto y puede contribuir fácilmente a la biblioteca y agregar características en forma de complementos y que esté disponible en GitHub y en Node.js.
Caracteristicas
Entendamos en detalle todas las funciones importantes disponibles con MomentJS:
Analizando
El análisis le permite analizar la fecha en el formato requerido. El análisis de la fecha está disponible en cadena, objeto y matriz. Te permite clonar el momento usando moment.clone. Hay métodos disponibles que dan la salida de fecha en formato UTC.
Validación de fecha
La validación de fechas es muy fácil con MomentJS. Puedes usar el métodoisValid()y compruebe si la fecha es válida o no. MomentJS también proporciona muchos indicadores de análisis que se pueden usar para verificar la validación de la fecha.
Manipulación
Existen varios métodos para manipular la fecha y la hora en el objeto de momento. add, restar, startoftime, endoftime, local, utc, utcoffset, etc., son los métodos disponibles que brindan los detalles requeridos sobre la fecha / hora en MomentJS.
Obtener / Establecer
Get / Set permite leer y configurar las unidades en la fecha. Permite cambiar y leer horas, minutos, segundos, milisegundos, fecha del mes, día de la semana, día del año, semana del año, mes, año, trimestre, semana del año, semanas del año, get / set, máximo , mínimo, etc. Get / Set es una función muy útil disponible en MomentJS.
Monitor
La pantalla proporciona formatos para mostrar la fecha de diferentes formas. Hay métodos disponibles que indican la hora desde un momento dado, desde el momento actual, la diferencia entre dos momentos, etc. Permite mostrar la fecha en formato JSON, Array, Object, String, etc.
Consultas de fecha
Date Queries tiene métodos fáciles de usar que indican si la fecha es mayor o menor que la entrada, entre las fechas dadas, es un año bisiesto, es un momento, es una fecha, etc. Es muy útil con la validación de fechas.
Duraciones
Las duraciones son una de las características importantes de MomentJS. Básicamente maneja la duración del tiempo para determinadas unidades. loshumanize El método disponible muestra la fecha en un formato legible por humanos.
Internacionalización
La internacionalización es otra característica importante de MomentJS. Puede mostrar la fecha y la hora según la configuración regional. La configuración regional se puede aplicar a un momento específico si es necesario. Obtendrá un archivo minimizado del sitio de inicio de MomentJS que tiene todas las configuraciones regionales. En caso de que esté tratando con una configuración regional específica, también puede agregar solo ese archivo de configuración regional y trabajar con él. Los nombres de meses, semanas y días se muestran en la configuración regional especificada.
Personalización
MomentJS permite la personalización de la configuración regional creada. Puede personalizar los nombres de los meses, la abreviatura de los meses, los nombres de los días de la semana, la abreviatura de los días de la semana, el formato de fecha larga y el formato de calendario para una configuración regional definida según sus requisitos.
Utilidades
Las utilidades vienen con dos métodos: normalize units y invalid. Se utilizan con el momento y nos ayuda a cambiar o personalizar la salida según lo necesitemos. También permite establecer nuestra propia validación personalizada en el objeto de momento.
Complementos
Los complementos son características adicionales de MomentJS. Hay muchos complementos agregados a calendarios, formato de fecha, análisis, rangos de fechas, rango preciso, etc. Puede agregar sus propios complementos y hacerlos disponibles con Node.js y GitHub.
En este capítulo, aprenderá en detalle sobre cómo configurar el entorno de trabajo de MomentJS en su computadora local. Antes de comenzar a trabajar en MomentJS, debe tener acceso a la biblioteca. Puede acceder a sus archivos en cualquiera de los siguientes métodos:
Método 1: uso del archivo MomentJS en el navegador
En este método, necesitaremos el archivo MomentJS de su sitio web oficial y lo usaremos directamente en el navegador.
Paso 1
Como primer paso, vaya al sitio web oficial de MomentJS https://momentjs.comEncontrará la página de inicio como se muestra aquí:
Observe que hay una opción de descarga disponible que le brinda el último archivo MomentJS disponible. Tenga en cuenta que el archivo está disponible con y sin minificación.
Paso 2
Ahora, incluye moment.js dentro de scriptetiqueta y comience a trabajar con MomentJS. Para ello, puede utilizar el código que se proporciona a continuación:
<script type = "text/JavaScript" src = " https://MomentJS.com/downloads/moment.js"></script>
A continuación se muestra un ejemplo práctico y su salida para una mejor comprensión:
Ejemplo
<html>
<head>
<title>MomentJS - Working Example</title>
<script type = "text/JavaScript" src = "https://MomentJS.com/downloads/moment.js"></script>
<style>
div {
border: solid 1px #ccc;
padding:10px;
font-family: "Segoe UI",Arial,sans-serif;
width: 50%;
}
</style>
</head>
<body>
<div style = "font-size:25px" id = "todaysdate"></div>
<script type = "text/JavaScript">
var a = moment().toString();
document.getElementById("todaysdate").innerHTML = a;
</script>
</body>
</html>
Salida
los moment-localeEl archivo para trabajar con diferentes configuraciones regionales también está disponible como se muestra en la captura de pantalla anterior. Ahora, agregue el archivo a la etiqueta de secuencia de comandos como se muestra a continuación y trabaje con diferentes configuraciones regionales de su elección. Para ello, puede utilizar el código que se proporciona a continuación:
<script type="text/JavaScript" src="https://MomentJS.com/downloads/moment-with-locales.js"></script>
A continuación, se muestra un ejemplo práctico de moment-locale y su salida para una mejor comprensión:
<html>
<head>
<script type = "text/JavaScript" src ="https://MomentJS.com/downloads/moment-with-locales.js"></script>
</head>
<body>
<h1>Moment Locale</h1>
<div id = "datedisplay" style = "font-size:30px;"></div>
<script type = "text/JavaScript">
var a = moment.locale("fr");
var c = moment().format("LLLL");
document.getElementById("datedisplay").innerHTML = c;
</script>
</body>
</html>
Salida
Método 2: usar Node.js
Si opta por este método, asegúrese de tener Node.js y npminstalado en su sistema. Puede usar el siguiente comando para instalar MomentJS:
npm install moment
Puede observar el siguiente resultado una vez que MomentJS se haya instalado correctamente:
Ahora, para probar si MomentJS funciona bien con Node.js, cree el archivo test.js y agréguele el siguiente código:
var moment = require('moment');
var a = moment().toString();
console.log(a);
Ahora, en el símbolo del sistema, ejecute el comando node test.js como se muestra en la captura de pantalla que se muestra a continuación:
Tenga en cuenta que este comando muestra el resultado de moment().toString().
Método 3: usar Bower
Bower es otro método para obtener los archivos necesarios para MomentJS. Puede usar el siguiente comando para instalar MomentJS usando Bower -
bower install --save moment
La captura de pantalla que se muestra a continuación muestra la instalación de MomentJS usando Bower -
Estos son los archivos cargados desde Bower para que MomentJS los instale. Los archivos de momento y configuración regional instalados se muestran en la imagen que se muestra a continuación:
En este capítulo, discutiremos cómo trabajar con MomentJS using RequireJS y MomentJS and TypeScript.
MomentJS y RequireJS
Para comprender el funcionamiento de MomentJS usando RequireJS, analicemos un ejemplo de trabajo con MomentJS y RequireJS. La estructura de carpetas de la aplicación correspondiente se muestra en la siguiente imagen:
Puede obtener el archivo require.js obtenido del sitio oficial de RequireJS:https://requirejs.org/docs/download.html. Observe el siguiente código para una mejor comprensión:
Proyecto de ejemplo.html
<!DOCTYPE html>
<html>
<head>
<title>RequireJS and MomentJS</title>
<!-- data-main attribute tells require.js to load
scripts/main.js after require.js loads. -->
<script data-main="scripts/main" src="scripts/require.js"></script>
</head>
<body>
<h1>RequireJS and MomentJS</h1>
<div id="datedisplay" style="font-size:25px;"></div>
</body>
</html>
main.js
require.config({
paths:{
'momentlocale':'libs/momentlocale',
},
});
require(['momentlocale'], function (moment) {
moment.locale('fr');
var a = moment().format("LLLL");
document.getElementById("datedisplay").innerHTML = a;
});
Tenga en cuenta que Moment.js y momentlocale.js están en la carpeta libs.
La siguiente es la salida para project.html que observarás en el navegador -
MomentJS y TypeScript
El código utilizado para construir MomentJS y el proyecto TypeScript son los siguientes:
package.json
{
"name": "momenttypescript",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"browserify": "^16.2.0",
"gulp": "^3.9.1",
"gulp-connect": "^5.5.0",
"gulp-typescript": "^4.0.2",
"moment": "^2.22.1",
"tsify": "^4.0.0",
"typescript": "^2.8.3",
"vinyl-source-stream": "^2.0.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Tenga en cuenta que las dependencias disponibles en package,json necesita ser instalado usando npm install.
main.ts
import * as moment from 'moment';
let now = moment().format('LLLL');
document.getElementById("datedisplay").innerHTML = now;
Necesitas use Gulp para construir el archivo de mecanografiado a JavaScript, es decir, de main.ts a main.js. El siguiente código muestra elgulpfile.js que se usa para construir el archivo. Tenga en cuenta que hemos utilizadogulp-connect paquete que abre un servidor local para mostrar la salida.
gulpfile.js
var gulp = require("gulp");
var connect = require("gulp-connect");
var browserify = require("browserify");
var tsify = require("tsify");
var source = require("vinyl-source-stream");
gulp.task("build", function (cb) {
runSequence("browserify", "minify", cb);
});
gulp.task("startserver", ["browserify", "connect"]);
gulp.task("browserify", function () {
var b = browserify({
insertGlobals: true,
debug: false
}) .add("src/main.ts") .plugin(tsify, { typescript: require("typescript") });
return b
.bundle()
.pipe(source("main.js"))
.pipe(gulp.dest("build/"));
});
gulp.task("connect", function () {
connect.server({
root: ".",
// port: '80',
livereload: true
});
});
Esta es la salida que observa cuando ejecuta el código dado anteriormente:
Puede ver la estructura de carpetas como se muestra en el siguiente formato:
El código para index.html se muestra a continuación:
<html>
<head></head>
<body>
<h1>MomentJS and typescript</h1>
<div id="datedisplay" style="font-size:30px;"></div>
<script src="build/main.js"></script>
</body>
</html>
Ahora, si abres http://localhost:8080/, puede ver el resultado como se muestra a continuación:
MomentJS tiene muchos métodos fáciles de usar que ayudan a analizar la fecha y la hora. Puede analizar fechas en forma de objeto, cadena, matriz, objeto de fecha nativo de JavaScript, etc. Este capítulo los analiza en detalle.
Fecha de análisis
MomentJS da un objeto contenedor como salida cuando moment()se llama. Puede observar lo siguiente cuando consuela la salida en el navegador.
MomentJS proporciona varios métodos para analizar la fecha como se indica a continuación:
No Señor. | Método y sintaxis |
---|---|
1 | Ahora momento() |
2 | Cuerda momento (cuerda) |
3 | Objeto momento (objeto) |
4 | Fecha momento (fecha) |
5 | Formación momento (Matriz []) |
6 | Marca de tiempo de Unix momento (número) |
7 | Clon de momento momento (momento) |
8 | UTC moment.utc () |
9 | parseZone moment.parseZone () |
10 | Datos de creación momento (). creationData (); |
11 | Defaults var m = momento ({hora: 3, minuto: 40, segundos: 10}); |
MomentJSmaneja la validación de fechas de una manera fácil. No es necesario escribir mucho código para validar la fecha.isValid()es el método disponible en el momento que indica si la fecha es válida o no. MomentJS también proporciona muchos indicadores de análisis que se pueden usar para verificar la validación de la fecha.
Análisis de banderas
MomentJS proporciona las siguientes banderas de análisis en los casos en que la fecha dada se considera inválida:
overflow - Esto ocurrirá cuando el mes dado sea el 13, el día 367 en un año o el 32 en un mes, el 29 de febrero en un año no bisiesto, etc. El desbordamiento contiene el índice de la unidad no válida para igualar hacia invalidAt. Tenga en cuenta que-1 significa que no hay desbordamiento.
invalidMonth- Muestra un nombre de mes no válido. Dará la cadena de mes inválida o nula.
Empty- Cuando se da una entrada que no es una fecha. Da un booleano.
nullInput - Una entrada nula, como moment (nulo); devuelve un booleano.
invalidFormat - Cuando el formato dado está vacío, como moment('2018-04-25', []). Devuelve booleano.
userInvalidated - Una fecha creada explícitamente como inválida, como moment.invalid(). Devuelve booleano.
meridiem- Indica el meridiem (AM / PM) analizado, si lo hay. Devuelve cadena.
parsedDateParts - Devuelve una matriz de partes de fecha analizadas como parsedDateParts[0] como año, parsedDateParts[1] como mes y parsedDateParts[2]como día. Si no hay partes presentes, pero meridiem tiene valor, la fecha no es válida. Devuelve una matriz.
Considere el siguiente ejemplo para comprender la validación de la fecha:
var a = moment("2018-18-10T10:20:25");
a.isValid();
a.invalidAt();
Salida
InvalidAt da la salida como 1, lo que apunta al mes, ya que el valor del mes es mayor que 12 y se desborda. Si hay un desbordamiento, invalidAt dará el resultado como se muestra en la tabla que se proporciona aquí:
0 | años |
1 | meses |
2 | dias |
3 | horas |
4 | minutos |
5 | segundos |
6 | milisegundos |
Si hay varios desbordamientos en la fecha dada, será una salida para el primer índice desbordado.
MomentJS tiene muchos métodos para obtener / establecer las entradas de fecha. Get nos permitirá leer la unidad de entrada requerida y set permitirá modificar la unidad de entrada. Este capítulo analiza en detalle los métodos get / set que se utilizarán en este momento.
La siguiente tabla muestra los métodos get / set disponibles:
Método | Sintaxis |
---|---|
Milisegundo | momento (). milisegundo (número) momento (). milisegundo (); momento (). milisegundos (Número); momento (). milisegundos (); |
Segundo | momento (). segundo (Número); momento (). segundo (); momento (). segundos (Número); momento (). segundos (); |
Minuto | momento (). minuto (Número); momento (). minuto (); momento (). minutos (Número); momento (). minutos (); |
Hora | momento (). fecha (número); momento (). fecha (); momento (). fechas (número); momento (). fechas (); |
Día de la semana | momento (). día (Número | Cadena); momento (). día (); momento (). días (Número | Cadena); momento (). días (); |
Fecha del mes | momento (). fecha (número); momento (). fecha (); momento (). fechas (número); momento (). fechas (); |
Día del año | moment (). dayOfYear (Number); moment (). dayOfYear (); |
Semana del año | momento (). semana (Número); momento (). semana (); momento (). semanas (Número); momento () .semanas (); |
Semana del año (ISO) | momento (). isoWeek (Número); momento (). isoWeek (); momento (). isoWeeks (Número); momento (). isoWeeks (); |
Mes | momento (). mes (Número | Cadena); momento (). mes (); |
Trimestre | momento (). cuarto (); momento (). cuarto (Número); momento (). cuartos (); momento (). trimestres (Número); |
Año | momento (). año (número); momento (). año (); |
Week year | momento (). weekYear (Number); momento (). weekYear (); |
Weeks in year | moment (). weeksInYear (); |
Obtener | momento (). obtener ('año'); momento (). obtener ('mes'); momento (). obtener ('fecha'); momento (). obtener ('hora'); momento (). obtener ('minuto'); momento (). obtener ('segundo'); momento (). obtener ('milisegundo'); |
Conjunto | moment (). set (String, Int); moment (). set (Object (String, Int)); |
Máximo | moment.max (Momento [, Momento ...]); moment.max (Momento []); |
Mínimo | moment.min (Momento [, Momento ...]); moment.min (Momento []); |
MomentJSproporciona varios métodos para manipular la fecha y la hora en el objeto de momento. Este capítulo trata todos estos métodos en detalle.
Métodos para manipular la fecha y la hora
La siguiente tabla muestra los métodos disponibles en MomentJS que ayudan a manipular la fecha y la hora según sea necesario:
No Señor. | Método y sintaxis |
---|---|
1 | Añadir moment.add () |
2 | Sustraer moment.subtract () |
3 | Inicio del tiempo moment.startof () |
4 | Fin del tiempo moment.endof () |
5 | Local moment.local () |
6 | UTC moment.utc () |
7 | Desplazamiento UTC moment.utcOffset () |
MomentJS proporciona formatos para mostrar la fecha de diferentes formas. Hay métodos disponibles que indican la hora desde un momento dado, desde el momento actual, la diferencia entre dos momentos, etc. Puede mostrar la fecha en formato JSON, Array, Object, String, etc.
Métodos para formatear la fecha y la hora
La siguiente tabla muestra una lista de métodos disponibles que ayudan a mostrar / formatear la fecha según sea necesario.
Método | Sintaxis |
---|---|
Formato | momento (). formato (); momento (). formato (Cadena); |
Tiempo a partir de ahora | momento (). fromNow (); momento (). fromNow (booleano); |
Tiempo desde X | momento (). de (Momento | Cadena | Número | Fecha | Matriz); |
Tiempo para ahora | momento (). toNow (); momento (). toNow (booleano); |
Tiempo para X | momento (). a (Momento | Cadena | Número | Fecha | Matriz); moment (). to (Moment | String | Number | Date | Array, Boolean); |
Hora del calendario | momento (). calendario (); momento (). calendario (tiempo de referencia); momento (). calendario (tiempo de referencia, formatos); |
Diferencia | momento (). diff (Momento | Cadena | Número | Fecha | Matriz); momento (). diff (Momento | Cadena | Número | Fecha | Matriz, Cadena); moment (). diff (Momento | Cadena | Número | Fecha | Matriz, Cadena, Booleano); |
Marca de tiempo de Unix (milisegundos) | momento (). valueOf (); + momento (); |
Marca de tiempo de Unix (segundos) | momento (). unix (); |
Días del mes | moment (). daysInMonth (); |
Como fecha de JavaScript | momento (). toDate (); |
Como matriz | momento (). toArray (); |
Como JSON | momento (). toJSON (); |
Como cadena ISO 8601 | momento (). toISOString (); momento (). toISOString (keepOffset); |
Como objeto | momento (). toObject (); |
Como cuerda | momento (). toString (); |
Inspeccionar | momento (). inspeccionar (); |
MomentJS proporciona métodos para consultar la fecha / hora del año bisiesto, comparación de fechas, validación de fechas, etc. Este capítulo los analiza en detalle.
Métodos para consultar la fecha en MomentJS
La siguiente tabla muestra los métodos disponibles en MomentJS y su sintaxis para consultar la fecha:
Método | Sintaxis |
---|---|
Es antes | moment (). isBefore (Momento | Cadena | Número | Fecha | Matriz); moment (). isBefore (Momento | Cadena | Número | Fecha | Matriz, Cadena); |
Es igual | moment (). isSame (Momento | Cadena | Número | Fecha | Matriz); moment (). isSame (Momento | Cadena | Número | Fecha | Matriz, Cadena); |
Es despues | moment (). isAfter (Momento | Cadena | Número | Fecha | Matriz); moment (). isAfter (Momento | Cadena | Número | Fecha | Matriz, Cadena); |
Es igual o anterior | moment (). isSameOrBefore (Momento | Cadena | Número | Fecha | Matriz); moment (). isSameOrBefore (Momento | Cadena | Número | Fecha | Matriz, Cadena); |
Es igual o posterior | moment (). isSameOrAfter (Momento | Cadena | Número | Fecha | Matriz); moment (). isSameOrAfter (Momento | Cadena | Número | Fecha | Matriz, Cadena); |
Está entre | moment (). isBetween (como un momento, como un momento); moment (). isBetween (como un momento, como un momento, String); |
Es el horario de verano | momento (). isDST (); |
Es año bisiesto | momento (). isLeapYear (); |
Es un momento | moment.isMoment (obj); |
Es una cita | moment.isDate (obj); |
La internacionalización es una de las características importantes de MomentJS. Puede mostrar la fecha y la hora según la localización, en otras palabras, según el país / región. La configuración regional se puede aplicar a un momento específico si es necesario.
Este capítulo analiza en detalle cómo hacer que la configuración regional se aplique globalmente, localmente, trabajar con la configuración regional utilizando Node.js, en el navegador, obtener las unidades (meses, días de semana, etc.) en la configuración regional requerida, etc.
No Señor. | Configuración regional y descripción |
---|---|
1 | Configuración regional global Podemos asignar la configuración regional globalmente y todos los detalles de fecha / hora estarán disponibles en la configuración regional asignada. |
2 | Cambiar la configuración regional localmente Necesitamos que la configuración regional se aplique localmente en caso de que necesitemos manejar muchas configuraciones regionales en una aplicación. |
3 | Uso de la configuración regional en el navegador Podemos empezar a trabajar con la configuración regional al incluir el archivo de configuración regional en la etiqueta del script. |
4 | Usando Locale usando Node.js Si usa Node.js, ya tendrá los archivos de configuración regional en el momento en que realice la instalación de npm. |
5 | momentjs_Lista de detalles de fecha / hora de la configuración regional actual Puede configurar la configuración regional y verificar los detalles como meses, días de la semana, etc. |
6 | Comprobando la configuración regional actual Podemos verificar la configuración regional actual usando moment.locale (). |
7 | Acceso a la funcionalidad específica de la configuración regional Aquí verá los métodos y propiedades disponibles en la configuración regional cargada actualmente. |
MomentJSpermite agregar personalización a la configuración regional creada. Este capítulo los analiza en detalle.
La siguiente lista muestra las personalizaciones posibles en la localización:
No Señor. | Localización y descripción |
---|---|
1 | Nombres de meses Puede agregar nombres de meses a la personalización de la configuración regional. |
2 | Abreviatura del mes Este método ayuda a personalizar las abreviaturas de los meses. |
3 | Nombres de días de la semana Este método ayuda a personalizar los nombres de los días de la semana según la configuración regional. |
4 | Abreviatura del día de la semana Este método ayuda a personalizar las abreviaturas de los días de la semana según la configuración regional. |
5 | Abreviatura mínima del día de la semana Este método ayuda a personalizar las abreviaturas mínimas de los días de la semana según la configuración regional. |
6 | Formatos de fecha larga Este método ayuda a personalizar el formato de fecha larga para una configuración regional. |
7 | Tiempo relativo Este método ayuda a obtener el tiempo relativo. |
8 | AM PM Este método ayuda a personalizar el meridiem según la ubicación. |
9 | Análisis AM / PM Puede analizar AM / PM utilizando este método. |
10 | Calendario Esto ayuda a personalizar el objeto de calendario para un conjunto de configuraciones regionales. |
11 | Ordinal La visualización ordinal de las fechas se puede cambiar según la configuración regional. |
12 | Umbrales de tiempo relativo Esto se usa con duration.humanize donde la longitud de la duración se muestra como un few seconds ago, in a minute, an hour ago etc. |
MomentJS proporciona una característica importante llamada duraciones que maneja el tiempo para unidades dadas. En este capítulo, aprenderá esto en detalle.
Métodos disponibles con duraciones
La siguiente tabla muestra los métodos disponibles con duración para diferentes unidades que se utilizarán con duración de momento:
Método | Sintaxis |
---|---|
Creando | moment.duration (Número, Cadena); moment.duration (Número); moment.duration (Objeto); moment.duration (String); |
Clon | moment.duration (). clone (); |
Humanizar | momento.duración (). humanizar (); |
Milisegundos | moment.duration (). milisegundos (); moment.duration (). asMilliseconds (); |
Segundos | momento.duración (). segundos (); moment.duration (). asSeconds (); |
Minutos | moment.duration (). minutes (); moment.duration (). asMinutes (); |
Horas | momento.duración (). horas (); moment.duration (). asHours (); |
Dias | moment.duration (). days (); moment.duration (). asDays (); |
Semanas | momento.duración (). semanas (); moment.duration (). asWeeks (); |
Meses | momento.duración (). meses (); moment.duration (). asMonths (); |
Years | momento.duración (). años (); moment.duration (). asYears (); |
Agregar tiempo | moment.duration (). add (Número, Cadena); moment.duration (). add (Número); moment.duration (). add (Duración); moment.duration (). add (Objeto); |
Restar tiempo | moment.duration (). restar (Número, Cadena); moment.duration (). restar (Número); moment.duration (). restar (Duración); moment.duration (). restar (Objeto); |
Usar duración con diferencia | var duración = momento.duración (x.diff (y)) |
Como unidad de tiempo | moment.duration (). as (String); |
Obtener unidad de tiempo | duration.get ('horas'); duration.get ('minutos'); duration.get ('segundos'); duration.get ('milisegundos'); |
Como JSON | moment.duration (). toJSON (); |
Es una duración | moment.isDuration (obj); |
Como cadena ISO 8601 | moment.duration (). toISOString (); |
Lugar | moment.duration (). locale (); moment.duration (). locale (String); |
En MomentJS, puede cambiar o personalizar la salida según el requisito utilizando unidades de normalización y métodos no válidos. También puede configurar su propia validación personalizada en el objeto de momento.
Observe la siguiente tabla para obtener más información:
No Señor. | Método y sintaxis |
---|---|
1 | Normalizar unidades moment.normalizeUnits (String); |
2 | Inválido moment.invalid (Objeto); |
Los complementos son características extendidas agregadas en MomentJS. MomentJS es un proyecto de código abierto y muchos complementos se encuentran en MomentJS que son aportados por sus usuarios y están disponibles usando Node.js y GitHub.
Este capítulo analiza algunos de los complementos de calendarios y los complementos de formatos de fecha disponibles en MomentJS.
Complementos de calendario
En esta sección se analizan dos tipos de complementos de Calendario: ISO calendar and Taiwan calendar.
Calendario ISO
Puede usar el siguiente comando para instalarlo con Node.js:
npm install moment-isocalendar
Puede obtener moment-isocalendar.js de GitHub - https://github.com/fusionbox/moment-isocalendar Observe el siguiente ejemplo de trabajo con isocalendar y MomentJS:
Example
var m = moment().isocalendar();
Output
Example
var m = moment.fromIsocalendar([2018, 51, 10, 670]).format('LLLL');
Output
Calendario de Taiwán
Puede usar el siguiente comando para instalarlo con Node.js:
npm install moment-jalaali
Puede obtener el moment-taiwan.js de GitHub - https://github.com/bradwoo8621/moment-taiwan Observe el siguiente ejemplo de trabajo con isocalendar y MomentJS:
Example
var m = moment('190/01/01', 'tYY/MM/DD');
var c = m.twYear();
Output
Complementos de formatos de fecha
En esta sección se analizan los siguientes tipos de complementos de formato de fecha:
- Analizador de formato de fecha de Java
- Formateador de fecha corta
- Parse formato de fecha
- Formato de duración
- Rango de fechas
- Rango preciso
Analizador Java DateFormat
Puede usar el siguiente comando para instalarlo con Node.js:
Puede obtener el moment-jdateformatparser.js de GitHub - https://github.com/MadMG/moment-jdateformatparser Observe el siguiente ejemplo de trabajo para moment-jdateformatparser y MomentJS -
Example
var m = moment().formatWithJDF("dd.MM.yyyy");
Output
Formateador de fecha corta
El archivo JavaScript para formato de fecha corta se puede obtener de GitHub:
https://github.com/researchgate/moment-shortformatSyntax
moment().short();
La pantalla se ve como se muestra en la tabla aquí -
Desde el momento | Desde el momento (). Corto () |
---|---|
0 a 59 segundos | 0 a 59 s |
1 a 59 minutos | 1 hasta 59 m |
1 a 23 horas | 1h a 23h |
1 a 6 días | 1d a 6d |
> = 7 días y el mismo año | La pantalla será como 3 de febrero, 6 de marzo |
> = 7 días y año diferencial | La pantalla será como 3 de febrero de 2018, 6 de marzo de 2018 |
Puede tomar el script por un momento del enlace de GitHub que se muestra arriba.
Example
var a = moment().subtract(8, 'hours').short();
var b = moment().add(1, 'hour').short(true);
Output
Si quieres eliminar el sufijo ago o in, puede pasar de verdadero a corto (tru.
Parse formato de fecha
Puede usar el siguiente comando para instalarlo con Node.js:
npm install moment-parseformat
Example
var a = moment.parseFormat('Friday 2018 27 april 10:28:10');
Output
Observe que la salida muestra que cualquier parámetro (fecha / hora) que se le dé al parseFormat, da el formato de la fecha como se muestra arriba.
Formato de duración
Puede usar el siguiente comando para instalar el formato de duración en Node.js:
El repositorio para el formato de duración está disponible aquí: https://github.com/jsmreese/moment-duration-format Veamos un ejemplo de trabajo con formato de duración:
Example
var a = moment.duration(969, "minutes").format("h:mm:ss");
Output
Esto agrega más detalles a la duración del momento creado.
Rango de fechas
Puede usar el siguiente comando para instalar el rango de fechas en Node.js:
npm install moment-range
Example
window['moment-range'].extendMoment(moment);
var start = new Date(2012, 0, 15);
var end = new Date(2012, 4, 23);
var range = moment.range(start, end);
console.log(range.start._d);
console.log(range.end._d);
Output
Rango preciso
El rango preciso mostrará la diferencia de fecha exacta en fecha, hora y en formato legible por humanos. Puede usar el siguiente comando para instalar un rango preciso en Node.js:
npm install moment-precise-range-plugin
Example
var a = moment("1998-01-01 09:00:00").preciseDiff("2011-03-04 18:05:06");
Output
Hasta ahora, hemos aprendido muchos conceptos en MomentJS. Este capítulo le ofrece más ejemplos para una mejor comprensión.
Mostrar intervalo de fechas entre dos fechas
Este es un ejemplo que muestra las fechas entre dos fechas determinadas.
<!DOCTYPE html>
<html>
<head>
<script type="text/JavaScript" src="MomentJS.js"></script>
<style>
table, td {
border: 1px solid #F1E8E8;
border-collapse: collapse;
padding: 4px;
}
table tr:nth-child(odd) {
background-color: #CFCACA;
}
table tr:nth-child(even) {
background-color: #C4B4B4;
}
</style>
</head>
<body>
<h1>Dates display between 2014-05-01 and 2014-05-16</h1>
<div id="container">
<table id="datedetails" ></table>
</div>
<script type="text/JavaScript">
function getDaterange(start, end, arr) {
if (!moment(start).isSameOrAfter(end)) {
if (arr.length==0) arr.push(moment(start).format("dddd, MMMM Do YYYY, h:mm:ss a"));
var next = moment(start).add(1, 'd');
arr.push(next.format("dddd, MMMM Do YYYY, h:mm:ss a"));
getDaterange(next, end, arr);
} else {
return arr;
}
return arr;
}
var a = getDaterange("2014-05-01", "2014-05-16", []);
var tr = "";
for (var i = 0; i<a.length;i++ ) {
tr += "<tr><td>"+a[i]+"</td></tr>";
}
document.getElementById("datedetails").innerHTML = tr;
</script>
</body>
</html>
Queremos mostrar todas las fechas entre 2014-05-01 a 2014-05-16. Hemos utilizado la consulta de fechaisSameOrAfter, date addition and date format para lograr lo que queremos.
Salida
Mostrar domingos entre 2014-05-01 y 2014-08-16
<!DOCTYPE html>
<html>
<head>
<script type="text/JavaScript" src="MomentJS.js"></script>
<style>
table, td {
border: 1px solid #F1E8E8;
border-collapse: collapse;
padding: 4px;
}
table tr:nth-child(odd) {
background-color: #CFCACA;
}
table tr:nth-child(even) {
background-color: #C4B4B4;
}
</style>
</head>
<body>
<h1>Sundays between 2014-05-01 and 2014-08-16</h1>
<div id="container">
<table id="datedetails"></table>
</div>
<script type="text/JavaScript">
function getDaterange(start, end, arr) {
if (!moment(start).isSameOrAfter(end)) {
if (arr.length==0) {
if (moment(start).format("dddd") === "Sunday") {
arr.push(moment(start).format("dddd, MMMM Do YYYY, h:mm:ss a"));
}
}
var next = moment(start).add(1, 'd');
if (moment(next).format("dddd") === "Sunday") {
arr.push(next.format("dddd, MMMM Do YYYY, h:mm:ss a"));
}
getDaterange(next, end, arr);
} else {
return arr;
}
return arr;
}
var a = getDaterange("2014-05-01", "2014-08-16", []);
var tr = "";
for (var i = 0; i<a.length;i++ ) {
tr += "<tr><td>"+a[i]+"</td></tr>";
}
document.getElementById("datedetails").innerHTML = tr;
</script>
</body>
</html>
Salida
Mostrar detalles de fecha según la configuración regional
Aquí estamos usando el script moment.locale que tiene todas las configuraciones regionales.
<!DOCTYPE html>
<html>
<head>
<script type="text/JavaScript" src="MomentJS.js"></script>
<script type="text/JavaScript" src="momentlocale.js" charset="UTF-8"></script>
<style type="text/css">
div {
margin-top: 16px!important;
margin-bottom: 16px!important;
width:100%;
}
table, td {
border: 1px solid #F1E8E8;
border-collapse: collapse;
padding: 4px;
}
table tr:nth-child(odd) {
background-color: #CFCACA;
}
table tr:nth-child(even) {
background-color: #C4B4B4;
}
</style>
</head>
<body>
<div >
Select Locale : <select id="locale" onchange="updatelocale()" style="width:200px;">
<option value="en">English</option>
<option value="fr">French</option>
<option value="fr-ca">French Canada</option>
<option value="cs">Czech</option>
<option value="zh-cn">Chinese</option>
<option value="nl">Dutch< /option>
<option value="ka">Georgian</option>
<option value="he">Hebrew</option>
<option value="hi">Hindi</option>
<option value="id">Indonesian</option>
<option value="it">Italian</option>
<option value="jv";Japanese</option>
<option value="ko";Korean</option>
</select>
</div>
<br/>
<br/>>
Display Date is different formats as per locale :<span id="localeid"></span><br/>
<div>
<table>
<tr>
<th>Format</th>
<th>Display</th>
</tr>
<tr>
<td><i>dddd, MMMM Do YYYY, h:mm:ss a</i></td>
<td>
<div id="ldate"></div>
</td>
</tr>
<tr>
<td><i>LLLL</i></td>
<td>
<div id="ldate1"></div>
</td>
</tr>
<tr>
<td><i>moment().format()</i></td>
<td>
<div id="ldate2"></div>
</td>
</tr>
<tr>
<td><i>moment().calendar()</i></td>
<td>
<div id="ldate3"></div>
</td>
</tr>
<tr>
<td><i>Months</i></td>
<td>
<div id="ldate4"></div>
</td>
</tr>
<tr>
<td><i>Weekdays</i></td>
<td>
<div id="ldate5"></div>
</td>
</tr>
</table>
</div>
<script type="text/JavaScript">
var updatelocale = function() {
var a = moment.locale(document.getElementById("locale").value);
var k = moment().format("dddd, MMMM Do YYYY, h:mm:ss a");
var k1 = moment().format("LLLL");
var k2 = moment().format();
var k3 = moment().calendar();
var k4 = moment.months();
var k5 = moment.weekdays();
document.getElementById("localeid").innerHTML = "<b>"+a+"</b>";
document.getElementById("ldate").innerHTML = k;
document.getElementById("ldate1").innerHTML = k1;
document.getElementById("ldate2").innerHTML = k2;
document.getElementById("ldate3").innerHTML = k3;
document.getElementById("ldate4").innerHTML = k4;
document.getElementById("ldate5").innerHTML = k5;
};
updatelocale();
</script>
</body>
</html>