Nombre de mois entre 2 dates

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 781 fois - Téléchargée 29 fois

Contenu du snippet

Enfin une fonction en php pour ce problème. J'ai pas encore testé à fond car je dois cette fonction à Grenard que je salue au passage !

Pour ma part j'avais initalement présenté un moyen de calculer le nb de mois entre 2 date grace à mysql, je laisse donc ces qq lignes, au cas ou.

Source / Exemple :


// La fonction qui utilise seulement php (il semblerait que ca aille à peu près 4x plus vite que la fct mysql... meme en local)

function datediff($a,$b)
{
$date1 = intval(substr($a,0,4))*12+intval(substr($a,4,2));
$date2 = intval(substr($b,0,4))*12+intval(substr($b,4,2));
return abs($date1-$date2); //abs pour éviter les résultas négatifs suivant l'ordre des arguments de la fonction
}
echo datediff('200402','200312'); // les arguments sont YYYYMM, dans cet exemple : février 2004 et décembre 2003

--> ici le résultat est 2

--------------------------------------------------------

// Pour le plaisir des yeux (!!!) et peur ceux qui aiment mysql, comme moi, la fonction identique :

// la requete sql
$sql_select_interval="SELECT PERIOD_DIFF(200402,200312) AS nb_de_mois;"; // arguments au format YYMM ou YYYYMM, ici février 2004 et décembre 2003
$req_interval= mysql_query($sql_select_interval) or die('Erreur SQL !<br>'.$sql_select_interval.mysql_error());	
if($data_interval= mysql_fetch_assoc($req_interval))
	{
	echo "Nombre de mois entre les deux dates: ".abs($data_interval['nb_de_mois']); // ici ca donne 2, j'ai mis abs sinon, suivant l'ordre des dates ca donne -2
	}

Conclusion :


moi j'utilise cette fonction pour savoir depuis combien de mois est ouvert mon site pex. Ca pourrait aussi servir à faire des statistics genre "nb moyen de visiteurs par mois" ou "chiffre d'affaire moyen mensuel" calculé tout au long de l'année. bref

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de cs_GRenard

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.