Una tarea común, y que en algún momento todo programador debe enfrentar, es la relacionada al formateo de fechas con JavaScript, ya sea mediante la conversión de formatos o bien realizando cálculos entre dos o más fechas.
JavaScript cuenta con muchas funciones para la manipulación de fechas, no obstante hacer este tipo de cálculos no siempre es de lo más sencillo. Para facilitar el trabajo con fechas es que existe Moment.js, una pequeña biblioteca JavaScript que nos provee de algunas mecanismos sencillos para operar con fechas.
Formateo de fechas con JavaScript
moment().format('dddd, MMMM Do YYYY, h:mm:ss a'); moment().format('dddd [on the] wo [week of the year]'); moment().format("MMM Do 'YY"); moment().format(); // defaults to ISO-8601
Moment.js no solo sirve para la conversión de formatos de fechas y horas, tambien es extremadamente útil a la hora de realizar operaciones aritméticas y cálculos entre dos fechas distintas.
Calcular tiempo pasado desde una fecha
moment("2011-10-31", "YYYY-MM-DD").fromNow();
Un detalle que se encuentra contemplado en Moments.js y que no ocurre lo mismo con otras alternativas similares, es la representación de fechas según el país. Ese detalle se encuentra perfectamente estudiado en esta pequeña biblioteca, con ella podemos obtener las fechas en varios idiomas distintos y con apenas unas lineas de código.
Representar fechas según el idioma
English : Wednesday, April 18 2012 12:42 PM Catalan : Dimecres 18 Abril 2012 12:42 Danish : Onsdag 18. April, 2012 12:42 PM German : Mittwoch, 18. April 2012 12:42 Uhr Spanish : Miércoles 18 Abril 2012 12:42 Basque : asteazkena, 2012ko apirilaren 18a 12:42 French : mercredi 18 avril 2012 12:42 Galician : Mércores 18 Abril 2012 12:42 Italian : Mercoledi, 18 Aprile 2012 12:42 Korean : 2012년 4월 18일 수요일 오후 12시 42분 Norwegian : onsdag 18 april 2012 12:42 Dutch : woensdag 18 april 2012 12:42 Polish : środa, 18 kwiecień 2012 12:42 Portuguese : Quarta-feira, 18 de Abril de 2012 12:42 Russian : среда, 18 апрель 2012 12:42 Swedish : onsdag 18 april 2012 12:42 Turkish : Çarşamba, 18 Nisan 2012 12:42 Chinese : 星期三, 18 四月 2012 12:42 下午
Moments.js es muy liviano, apenas 3.7kb en su versión simplificada y comprimida mediante gzip. El autor provee la descarga de la versión de desarrollo, esto es particularmente útil para los que desean reducir aún más el tamaño de la biblioteca eliminando todo el código innecesario, por ejemplo, podemos quitar todo lo relacionado al idioma que no vamos a utilizar.
Web: Moments.js
En Kabytes | Manejo de Fechas en JavaScript
Datepicker JavaScript sin dependencias | Kabytes
10 años ago
[…] viene listo para funcionar en dos versiones, una que utiliza Moment.js para procesar y manipular fechas y otra que ya cuenta a esta biblioteca integrada en un solo […]