Un tutoriel Moment.js

Moment.js est une aide précieuse dans la gestion des dates en JavaScript

Moment.jsest une bibliothèque JavaScript géniale qui vous aide à gérer les dates, dans le navigateur et dans Node.js.

Cet article vise à expliquer les bases et les usages les plus courants de cette bibliothèque.

Installation

Vous pouvez l'inclure directement dans votre page à l'aide d'une balise de script, depuis unpkg.com:

<script src="https://unpkg.com/moment" />

ou en utilisantnpm:

npm install moment

Si vous installez en utilisant npm, vous devez importer le package (en utilisantModules ES):

import moment from 'moment'

ou l'exiger (en utilisantCommonJS):

const moment = require('moment')

Obtenez la date et l'heure actuelles

const date = moment()

Analyser une date

Un objet moment peut être initialisé avec une date en lui passant une chaîne:

const date = moment(string)

il accepte n'importe quelle chaîne, analysée selon (dans l'ordre):

ISO 8601 est certainement la plus pratique. Voici une référence de format:

Format Sens Exemple
AAAA Année à 4 chiffres 2018
YY Année à 2 chiffres 18
M Numéro du mois à 2 chiffres, sans le premier 0 7
MM Numéro du mois à 2 chiffres 07
MMM Nom du mois en 3 lettres juil
MMMM Nom complet du mois juillet
jjjj Nom complet du jour dimanche
gggg Année de la semaine à 4 chiffres 2018
gg Année de la semaine à 2 chiffres 18
w Semaine de l'année sans zéro avant 18
ww Semaine de l'année avec zéro non significatif 18
e Day of the week, starts at 0 4
Numéro de jour à 2 chiffres, sans le premier 0 9
DD Numéro de jour à 2 chiffres 09
Fais Numéro de jour avec ordinal 9ème
T Indique le début de la tranche horaire
HH Heures à 2 chiffres (heure sur 24 heures) de 0 à 23 22
H Heures à 2 chiffres (heure sur 24 heures) de 0 à 23 sans 0 de début 22
kk Heures à 2 chiffres (heure sur 24 heures) de 1 à 24 23
k Heures à 2 chiffres (24 heures) de 1 à 24 sans 0 de début 23
a / A amoupm pm
hh Heures à 2 chiffres (12 heures) 11
mm Minutes à 2 chiffres 22
ss 2 chiffres secondes 40
s Secondes à 2 chiffres sans zéro non significatif 40
S 1 chiffres millisecondes 1
SS 2 chiffres millisecondes 12
SSS 3 chiffres millisecondes 123
Z Le fuseau horaire +02: 00
X Horodatage UNIX en millisecondes 1410432140575

Choisir une date

Mettre en forme une date

Lorsque vous souhaitez générer le contenu d'un objet Date JavaScript brut, vous disposez de peu d'options pour déterminer la mise en forme. Tout ce que vous pouvez faire est d'utiliser les méthodes intégrées et de composer la date comme vous le souhaitez en les utilisant.

Moment offre un moyen pratique de formater la date en fonction de vos besoins, en utilisant leformat()méthode:

date.format(string)

Le format de chaîne accepte les mêmes formats que j'ai décrits dans la section «Analyser une date» ci-dessus.

Exemple:

moment().format("YYYY Do MM")

Moment fournit des constantes que vous pouvez utiliser au lieu d'écrire votre propre format:

Constant Format Exemple
moment.HTML5_FMT.DATETIME_LOCAL AAAA-MM-JJTHH: mm 2017-12-14T16:34
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS AAAA-MM-JJTHH: mm: ss 2017-12-14T16:34:10
moment.HTML5_FMT.DATETIME_LOCAL_MS AAAA-MM-JJTHH: mm: ss.SSS 2017-12-14T16:34:10.234
moment.HTML5_FMT.DATE AAAA-MM-JJ 2017-12-14
moment.HTML5_FMT.TIME HH: millimètre 16:34
moment.HTML5_FMT.TIME_SECONDS HH: mm: ss 16:34:10
moment.HTML5_FMT.TIME_MS HH: mm: ss.SSS 16: 34: 10.234
moment.HTML5_FMT.WEEK AAAA- [W] WW 2017-W50
moment.HTML5_FMT.MONTH AAAA-MM 2017-12

Valider une date

La validité de n'importe quelle date peut être vérifiée à l'aide duisValid()méthode:

moment('2018-13-23').isValid() //false
moment('2018-11-23').isValid() //true

Il y a du temps, du temps jusqu'à la date

UtilisationfromNow(). Les chaînes sont localisées:

moment('2016-11-23').fromNow() //2 years ago
moment('2018-05-23').fromNow() //a month ago
moment('2018-11-23').fromNow() //in 5 months

si tu passestrueto fromNow (), il montre juste la différence, sans référence au futur / passé.

moment('2016-11-23').fromNow(true) //2 years
moment('2018-05-23').fromNow(true) //a month
moment('2018-11-23').fromNow(true) //5 months

Manipuler une date

Vous pouvez ajouter ou soustraire n'importe quelle durée à une date:

moment('2016-11-23').add(1, 'years')
moment('2016-11-23').subtract(1, 'years')

Vous pouvez utiliser ces valeurs:

  • years
  • quarters
  • months
  • weeks
  • days
  • hours
  • minutes
  • seconds
  • milliseconds

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: