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.