Calcul de la différence de mois entre les dates en JavaScript
En JavaScript, déterminer la différence entre deux objets Date() peut être un processus simple. Cependant, extraire uniquement le nombre de mois de cette différence nécessite un examen attentif, car il existe de multiples interprétations de ce qui constitue cette valeur.
Pour répondre à différents scénarios, une fonction JavaScript peut être créée qui calcule la différence mensuelle en fonction sur des critères précis. Une approche possible consiste à obtenir l'année, le mois et le jour du mois à partir des deux dates et à utiliser ces valeurs pour calculer le nombre de mois. Par exemple :
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 ajoute la différence en mois entre les années à la différence en mois entre les dates individuelles, en ajustant les valeurs négatives pour garantir un résultat non négatif.
À l'aide de cette fonction, les différences mensuelles peuvent être calculées et affichées comme suit :
function test(d1, d2) { var diff = monthDiff(d1, d2); console.log( d1.toISOString().substring(0, 10), "to", d2.toISOString().substring(0, 10), ":", diff ); } test( new Date(2008, 10, 4), // November 4th, 2008 new Date(2010, 2, 12) // March 12th, 2010 ); // Result: 16 test( new Date(2010, 0, 1), // January 1st, 2010 new Date(2010, 2, 12) // March 12th, 2010 ); // Result: 2 test( new Date(2010, 1, 1), // February 1st, 2010 new Date(2010, 2, 12) // March 12th, 2010 ); // Result: 1
Dans ces cas de test, la fonction calcule correctement les différences mensuelles entre la date spécifiée gammes.
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!