Comment puis-je calculer la différence entre deux objets Date() en JavaScript, tout en ne renvoyant que le nombre de mois de la différence ?
Toute aide serait la bienvenue :)
Comment puis-je calculer la différence entre deux objets Date() en JavaScript, tout en ne renvoyant que le nombre de mois de la différence ?
Toute aide serait la bienvenue :)
J'aime ne pas réinventer la roue, rester simple (je veux dire ne pas se préoccuper du nombre de jours dans les mois, de l'année bissextile, etc. date-fns
lib, donc
npm install -s date-fns
et
const differenceInMonths = require('date-fns/differenceInMonths')
;(() => {
console.log(differenceInMonths(new Date(`2015-12-01`), new Date(`2013-12-01`)))
console.log(differenceInMonths(new Date(1582261140000), new Date(`2014-12-01`)))
console.log(differenceInMonths(new Date(1582261140000), new Date(1573621200000)))
})()
Bien que cet extrait de code puisse être la solution, y compris une explication contribue réellement à améliorer la qualité de votre message. N'oubliez pas que vous répondez à la question pour les lecteurs à venir, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code.
Une approche consisterait à écrire un simple service Web Java (REST/JSON) qui utilise la bibliothèque JODA.
http://joda-time.sourceforge.net/faq.html#datediff
pour calculer la différence entre deux dates et appeler ce service en javascript.
Cela suppose que votre back-end est en Java.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Un mois n'est pas une unité de mesure très précise, car la durée du mois change en fonction du mois dans lequel on se trouve. Si un intervalle dure 30 jours entre janvier et février, c'est moins d'un mois si l'on raisonne en termes de mois de 31 jours, mais plus d'un mois si l'on considère que février compte 28 ou 29 jours.
8 votes
Question pas très bien définie. Est-ce que le 28 février 23:58 au 1er mars 00:01 est un mois ? Ou juste un jour ? Ou seulement trois minutes ? Ou les trois ?
2 votes
La personne qui doit mettre en œuvre cette mesure n'aura probablement pas de réponse, car son responsable n'a aucune idée de ce qu'elle demande :)