Nueva Era: Cómputo del Tiempo con Moment.js
Calcular valores de tiempo y mostrarlos correctamente no es un juego de niños. Hay muchas unidades diferentes (año, mes, día, hora, etc.) y, lo que es más inquietante, diferentes sistemas de numeración, ninguno de los cuales es decimal. Pero no es necesario que caigas en la desesperación. Moment.js está ahí para ayudarte. La pequeña biblioteca de JavaScript viene equipada con muchas características ingeniosas para calcular lapsos de tiempo, convertir formatos de tiempo internacionales y también se preocupa por la salida de los resultados. No hace falta decir que Moment.js funciona para diferentes idiomas y zonas horarias.
Página de inicio de Moment.js
Formateo de valores de tiempo rápido y simple
Después de haber incrustado la biblioteca liviana en el encabezado de su documento HTML, no necesita más que una simple línea de JavaScript para habilitar el conjunto de características de Momento.js. Si necesita usar la biblioteca en cualquier otro idioma que no sea el inglés predeterminado, deberá incluir el archivo de idioma correspondiente:
moment().lang("de");
moment().format("Do MMMM. YYYY");
En nuestro ejemplo, cambiamos el idioma a alemán (de). La segunda línea da formato a la salida de la forma habitual en que se muestran las fechas en alemán. Las abreviaturas no serán nuevas para usted si ha utilizado funciones de hora y fecha anteriormente. Tenemos M para mes sin cero final, MM para mes con cero final y MMMM para el nombre del mes completamente escrito. El valor Do genera el día en forma de valor. En los sitios web en alemán, esto conduciría a la adición de un punto justo después del valor del número. En inglés esto es completamente diferente. Aquí agregamos letras a los números así: 1, 2, 3 y así sucesivamente. Puedo imaginar idiomas con notaciones aún más complicadas…
Moment.js no se limita al formato de la hora actual, pero puede formatear para siempre el valor de tiempo que desea procesar:
moment("01-31-2013, "DD-MM-YYYY").format("Do MMMM. YYYY"); // 31. Januar 2013
Moment.js puede validar valores de fecha. Vuelve false
cuando encuentra una entrada que no puede ser un valor de hora o fecha:
moment("01-32-2013", "MM-DD-YYYY").isValid(); // false
Cálculo de lapsos de tiempo y duraciones
Ya sabes, las cosas siempre se complican cuando necesitas calcular con valores de tiempo para encontrar un valor de intervalo de tiempo o una duración. En estas raras ocasiones, con suerte, convierte los valores de tiempo en segundos, suma o resta dos valores y los vuelve a convertir a un formato legible por humanos. Moment.js elimina todo el dolor de este procedimiento y lo ejecuta sin problemas por usted.
moment().add("days", 7).add("months", 1);
En este ejemplo, agregamos siete días y un mes a la fecha actual. El resultado se formatea usando format()
después. Por supuesto que también puedes subtract()
.
Si necesita mostrar valores de tiempo en relación con la hora actual, probablemente para mostrar cuándo sucederá o sucedió algo, Moment.js le proporciona la función fromNow()
:
moment("01-31-2013, "DD-MM-YYYY").fromNow();
Dependiendo de qué tan atrás en el historial se encuentre la fecha calculada, Moment.js muestra los valores en años, meses, días, horas o minutos. En lugar de mostrar simplemente el valor de la fecha sin formato, Moment.js muestra valores como «hace tres días» o «ayer».
La función humanizeDuration()
muestra lapsos de tiempo fijos en notación común:
moment.humanizeDuration(-1, "minutes", true); // one minute ago
Conclusión: Momento.js hace que el cálculo de los tiempos sea muy simple. Es una solución completa en la que los límites de su cabeza se alcanzan mucho antes que los límites de la herramienta. De esta manera nunca deberías meterte en problemas. Elija Moment.js para sus necesidades diarias. Como puede usarse bajo las regulaciones de la licencia MIT, no necesita pensarlo dos veces.
(dpe)
#Nueva #Era #Cómputo #del #Tiempo #con #Momentjs