Premiers pas avec momentjs

Utilisation générale

La façon dont Moment utilise les dates et les heures est d’envelopper l’objet Date() existant dans un objet moment() et de spécifier des méthodes utiles et intuitives sur cet objet.

Formater les dates

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

Temps relatif

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

Heure du calendrier

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

Prise en charge de plusieurs paramètres régionaux

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

Transformer un objet Date en et à partir d’un objet moment

Pour transformer un objet Date Javascript en un moment (objet moment), appelez simplement moment et passez la Date comme argument

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…}

Pour transformer le moment en une date Javascript, utilisez la méthode .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)

Calculer et manipuler des dates

Si vous avez un objet moment, vous pouvez utiliser add et substract pour le manipuler ou définir directement n’importe quelle propriété du temps

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

Ou utilisez .day(), .month(), .year(), .seconds(), .milliseconds() pour définir ces valeurs directement. Notez que les arguments passés sont indexés à 0.

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

Analyse de date

Vous pouvez utiliser moment pour analyser les chaînes de date.

Par défaut, moment essaie d’analyser la date sous la forme d’une chaîne ISO-8601 et si cela ne fonctionne pas, il revient aux navigateurs new Date(). Étant donné que la façon dont les navigateurs construisent les dates varie, il est préférable d’essayer de ne pas revenir à cela.

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

Si vous avez un format autre que ISO 8601, il est préférable de transmettre la chaîne de format comme deuxième argument à moment.

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

Installation ou configuration

Moment est une bibliothèque javascript conçue pour rendre le travail avec les dates et les heures moins fastidieux et plus intuitif. Vous pouvez facilement commencer à utiliser cette bibliothèque en l’installant dans votre application Web en utilisant l’un des guides suivants.

Navigateur

Vous pouvez soit télécharger le fichier JS [sur le site officiel] [1] ou utiliser [cdnjs.com] [2].

Avec le fichier JS local

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

Avec CDN

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

Node.js

npm install moment

Moment doit être inclus dans le répertoire node_modules, puis ajoutez-le à votre script

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

Tonnelle

bower install --save moment

Pour tester si votre site ou votre application Web utilise correctement le script moment.js, ouvrez la console (F12 sur le clavier) et tapez “moment”, la console doit imprimer la fonction moment si elle était incluse.

[1] : http://momentjs.com/downloads/moment.js [2] : https://cdnjs.com/libraries/moment.js