Maison >interface Web >js tutoriel >Comment calculer la différence de mois entre deux dates en JavaScript ?

Comment calculer la différence de mois entre deux dates en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 12:39:021019parcourir

How to Calculate the Month Difference Between Two Dates in JavaScript?

Déterminer le décalage horaire entre des dates en JavaScript : focus sur les mois

En JavaScript, comment calculer le décalage horaire entre deux dates en renvoyant uniquement les mois de séparation ? Examinons la solution.

La définition du « nombre de mois dans la différence » est très subjective. Nous pouvons dériver les mois entre deux moments en utilisant l'année, le mois et le jour du mois fournis par un objet date JavaScript.

Voici un exemple de fonction qui relève ce défi :

function monthDiff(d1, d2) {
  var months;
  months = (d2.getFullYear() - d1.getFullYear()) * 12;
  months -= d1.getMonth();
  months += d2.getMonth();
  return months <= 0 ? 0 : months;
}

Cette fonction prend en compte les années, les mois et les jours des deux dates saisies et calcule la différence mensuelle. Cela garantit que le résultat est non négatif.

Par exemple, nous pouvons utiliser cette fonction pour comparer des dates comme celle-ci :

const d1 = new Date(2008, 10, 4); // November 4th, 2008
const d2 = new Date(2010, 2, 12);  // March 12th, 2010

const diff = monthDiff(d1, d2);
console.log(`${d1.toISOString().substring(0, 10)} to ${d2.toISOString().substring(0, 10)}: ${diff}`); // Result: 16

Cet exemple démontre que le décalage horaire entre le 4 novembre, 2008 et le 12 mars 2010 correspondent à 16 mois.

En ajustant les dates de saisie, nous pouvons calculer les différences mensuelles pour n'importe quelle plage de temps souhaitée. La fonction fournit un moyen simple de gérer le scénario courant de calcul du nombre de mois entre deux dates en JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn