Primeros pasos con momentjs

Uso general

La forma en que Moment usa fechas y horas es envolviendo el objeto Date() existente en un objeto moment() y especificando métodos útiles e intuitivos en este objeto.

Fechas de formato

moment().format('MMMM Do YYYY, h:mm:ss a'); // August 4th 2016, 10:41:45 am
moment().format('dddd');                    // Thursday
moment().format("MMM Do YY");               // Aug 4th 16
moment().format('YYYY [escaped] YYYY');     // 2016 escaped 2016
moment().format();                          // 2016-08-04T10:41:45+02:00

Tiempo relativo

moment("20111031", "YYYYMMDD").fromNow(); // 5 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 4 years ago
moment().startOf('day').fromNow();        // 11 hours ago
moment().endOf('day').fromNow();          // in 13 hours
moment().startOf('hour').fromNow();       // 42 minutes ago

Hora del calendario

moment().subtract(10, 'days').calendar(); // 07/25/2016
moment().subtract(6, 'days').calendar();  // Last Friday at 10:42 AM
moment().subtract(3, 'days').calendar();  // Last Monday at 10:42 AM
moment().subtract(1, 'days').calendar();  // Yesterday at 10:42 AM
moment().calendar();                      // Today at 10:42 AM
moment().endOf('day');                    // Today at 23:59 AM
moment().add(1, 'days').calendar();       // Tomorrow at 10:42 AM
moment().add(3, 'days').calendar();       // Sunday at 10:42 AM
moment().add(10, 'days').calendar();      // 08/14/2016

Soporte de configuración regional múltiple

moment.locale();         // en
moment().format('LT');   // 10:43 AM
moment().format('LTS');  // 10:43:14 AM
moment().format('L');    // 08/04/2016
moment().format('l');    // 8/4/2016
moment().format('LL');   // August 4, 2016
moment().format('ll');   // Aug 4, 2016
moment().format('LLL');  // August 4, 2016 10:43 AM
moment().format('lll');  // Aug 4, 2016 10:43 AM
moment().format('LLLL'); // Thursday, August 4, 2016 10:43 AM
moment().format('llll'); // Thu, Aug 4, 2016 10:43 AM

Convierte un objeto de fecha en y desde un objeto de momento

Para convertir un objeto de fecha de Javascript en un momento (objeto de momento), simplemente llame a momento y pase la fecha como argumento

moment(new Date());
// Moment {_isAMomentObject: true, _i: Sun Jul 31 2016 11:08:02 GMT+0300 (Jerusalem Daylight Time), _isUTC: false, _pf: Object, _locale: Locale…}

Para convertir el momento en una fecha de Javascript, use el método .toDate()

var now = new Date();
var mom = moment(now)
//undefined
mom
// Moment {_isAMomentObject: true, _i: Sun Jul 31 2016 11:10:32 GMT+0300 (Jerusalem Daylight Time), _isUTC: false, _pf: Object, _locale: Locale…}
mom.toDate()
// Sun Jul 31 2016 11:10:32 GMT+0300 (Jerusalem Daylight Time)

Cálculo y manipulación de fechas

Si tiene un objeto de momento, puede usar add y substract para manipularlo o establecer cualquier propiedad del tiempo directamente

 moment("2016-01-01").add(1, 'year').format('YYYY-MM-DD')
 // -> "2017-01-01"

O use .day(), .month(), .year(), .seconds(), .milliseconds() para establecer esos valores directamente. Tenga en cuenta que los argumentos pasados ​​están indexados en 0.

 moment("2016-01-01").month(4).day(5).format('YYYY-MM-DD')
// -> "2016-05-06"

Análisis de fecha

Puede usar el momento para analizar cadenas de fecha.

De forma predeterminada, moment intenta analizar la fecha como una cadena ISO-8601 y, si eso no funciona, recurre a la nueva fecha() de los navegadores. Dado que la forma en que los navegadores construyen las fechas varía, es mejor tratar de no volver a caer en esto.

moment('2016-02-04').format('YYYY-MM-DD')
// ->'2016-02-04'

Si tiene un formato que no sea ISO 8601, es mejor pasar la cadena de formato como segundo argumento a moment.

moment('04-02-2016', 'MM-DD-YYYY').format('YYYY-MM-DD')
// ->'2016-02-04'

Instalación o configuración

Moment es una biblioteca de JavaScript que se diseñó para que trabajar con fechas y horas sea menos lento y más intuitivo. Puede comenzar a usar esta biblioteca fácilmente instalándola en su aplicación web utilizando una de las siguientes guías.

Navegador

Puede descargar el archivo JS [del sitio web oficial] 1 o usar [cdnjs.com] 2.

Con archivo JS local

<script src="moment.js"></script>
<script>
    moment().format();
</script>

Con CDN

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<script>
    moment().format();
</script>

Nodo.js

npm install moment

El momento debe incluirse dentro del directorio node_modules, luego agréguelo a su secuencia de comandos

var moment = require('moment');
moment().format();

glorieta

bower install --save moment

Para probar si su sitio o aplicación web está utilizando correctamente el script moment.js, abra la consola (F12 en el teclado) y escriba momento, la consola debería imprimir la función de momento si estaba incluida.