MySQL fournit une solution concise pour calculer le nombre de mois entre deux dates avec le Fonction TIMESTAMPDIFF(). Contrairement à la division des horodatages par une approximation du nombre de secondes dans un mois, l'utilisation de TIMESTAMPDIFF() donne des résultats précis en prenant en compte les variations de la durée des mois et des années bissextiles.
Pour obtenir le nombre de mois écoulés entre deux dates sans précision décimale, utilisez la méthode suivante syntaxe :
TIMESTAMPDIFF(MONTH, 'start_date', 'end_date')
Cette expression renvoie directement le nombre de mois complets entre les dates de début et de fin.
Pour des calculs précis de différence mensuelle, y compris des valeurs décimales pour tenir compte de mois partiels, utilisez ceci formule :
TIMESTAMPDIFF(MONTH, startdate, enddate) + DATEDIFF( enddate, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH ) / DATEDIFF( startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) + 1 MONTH, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH )
Cette formule plus complexe calcule la différence en mois avec précision, renvoyant des valeurs telles que 0,7097 pour une différence de 27 jours entre le « 05-05-2012 » et le « 27-05-2012 ». .
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!