Complementos para Moment.js
Algunas personas han creado complementos para Moment.js que pueden resultarte útiles.
El complemento Strftime
npm install moment-strftimeSi te sientes más cómodo trabajando con strftime en lugar de tokens de análisis similares a LDML, puedes usar el complemento moment-strftime de Ben Oakes.
El repositorio está ubicado en github.com/benjaminoakes/moment-strftime.
El complemento MSDate
Si estás utilizando fechas de automatización OLE en .NET, consulta moment-msdate de Markit On Demand. El uso de este complemento te permite formatear fechas OA en fechas JavaScript y viceversa.
Convierte un moment en una fecha OA:
moment().toOADate(); // un número de coma flotanteO convierte una fecha OA en un moment:
moment.fromOADate(41493); // Wed Aug 07 2013 00:00:00 GMT-0600 (MDT)Puedes encontrar más información y documentación detallada en GitHub en http://markitondemand.github.io/moment-msdate/.
El complemento Java DateFormat Parser
npm install moment-jdateformatparserSi deseas trabajar con java.text.DateFormat, puedes utilizar este complemento.
Por ejemplo,
moment("2013-12-24 14:30").formatWithJDF("dd.MM.yyyy"); // devuelve la fecha formateada "24.12.2013"moment().toJDFString("DD.MM.YYYY"); // devuelve el patrón de formato Java "dd.MM.yyyy"El repositorio está ubicado en github.com/MadMG/moment-jdateformatparser.
El complemento Date Ranges
npm install moment-rangeSi necesitas trabajar con rangos de fechas, puedes utilizar el complemento moment-range de Gianni Chiappetta.
La documentación se puede encontrar en la página de inicio github.com/rotaready/moment-range.
Y también está disponible para la web en el repositorio a continuación.
El repositorio está ubicado en github.com/rotaready/moment-range.
El complemento Twix
npm install twixOtro complemento de rango es la biblioteca Twix de Isaac Cambron. Tiene muchas características relacionadas con el rango y se destaca al formatear rangos de manera legible. Por ejemplo,
var t = moment("1/25/1982 9:30 AM").twix("1/25/1982 1:30 PM");t.isCurrent(); // falset.count('minutes'); // 241t.format(); // 'Jan 25, 1982, 9:30 AM - 1:30 PM't.simpleFormat("h:m"); // '9:30 - 1:30'La documentación completa de todas las opciones y características se encuentra aquí.
Está disponible en npm así:
npm install twixO simplemente toma el archivo JS desde aquí.
El complemento Precise Range
npm install moment-precise-range-pluginEl complemento Precise Range, escrito por Rob Dawson, se puede utilizar para mostrar representaciones exactas y legibles por humanos de rangos de fecha/hora:
moment("2014-01-01 12:00:00").preciseDiff("2015-03-04 16:05:06"); // 1 year 2 months 3 days 4 hours 5 minutes 6 secondsmoment.preciseDiff("2014-01-01 12:00:00", "2014-04-20 12:00:00");// 3 months 19 daysPara obtener los valores numéricos sin formato en lugar de una cadena, pasa el valor true como tercer argumento del método:
moment.preciseDiff(m1, m2, true);// {years : 0, months : 1, days : 2, hours : 3, minutes : 4, seconds : 5, firstDateWasLater : false}El complemento ISO Calendar
npm install moment-isocalendarSi estás buscando un método de isocalendario similar a Python, puedes usar el complemento de Rocky Meza
moment-isocalendar
Llamar al método isocalendar en un moment devolverá un array como el siguiente:
[year, week_of_year, day_of_week, minutes_since_midnight]
moment().isocalendar(); // [2012, 8, 5, 870]También puedes reconstruir un moment a partir de un array isocalendaria.
moment.fromIsocalendar([2011, 51, 5, 870]).format('LLLL');// "Friday, December 23 2011 2:30 PM"El repositorio está ubicado en github.com/fusionbox/moment-isocalendar.
El complemento Jalaali Calendar
npm install moment-jalaaliSi deseas trabajar con el sistema de calendario Jalaali (Jalali, persa, Khorshidi o Shamsi), puedes utilizar el complemento moment-jalaali de Behrang Noruzi Niya.
Cuando se instale, envolverá el objeto moment y moment podrá formatear y analizar años y meses de Jalaali. Aquí hay un breve ejemplo:
var m = moment('1360/5/26', 'jYYYY/jM/jD'); // Parse a Jalaali date.m.format('jYYYY/jM/jD [is] YYYY/M/D'); // 1360/5/26 is 1981/8/17El repositorio está ubicado en github.com/behrang/moment-jalaali.