Nombre de jours entre deux timestamp

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 223 fois - Téléchargée 21 fois

Contenu du snippet

Retourne le nombre de jours entre deux timestamp sans faire simplement la difference des timestamp, il evalue aussi le fait que la difference peut deborder sur un jour supplementaire!

Source / Exemple :


function nbrJr($debut,$fin){
	$debutJournee = mktime(0,0,0,date("m",$debut),date("d",$debut),date("Y",$debut));
	$diff = $fin - $debut;

	$nbJr= intval( $diff / 86400 ); // 86400  secondes par jour

	// Si ka différence entre les dates déborde sur un jour supplémentaire
	if( ($debut - $debutJournee) + ($diff % 86400) > 86400 )
		$nbJr++;

	return  $nbJr;
}

A voir également

Ajouter un commentaire

Commentaires

coockiesch
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Sachant que PHP est interprété et non compilé, c'est d'autant plus important...

Raf
parraccourci
Messages postés
6
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
12 juin 2010

@cedriclomb
Mettre un max de variable dans la même instruction ne fait pas gagner de mémoire. Le compilateur PHP finit quand même par créer et stocker en mémoire les résultats intermédiaires des instruction. La seule différence est que le code est moins lisible. C'est donc une pratique à éviter.

@autres
Je ne sais pas comment fonctionne le compilateur PHP mais tout bon compilateur remplace automatiquement les résultats de calculs statiques par leur résultat, ne provoquant au final aucune différence sur le fichier exécutable. Mais bon, il est clair que de mettre le directement le résultat ne mange pas de pain!
zogo17
Messages postés
3
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
15 août 2007

Oupla, un petit commentaire tardif...

coucou747 tu pars du principe qu'une source est mal codée parce que on a écrit "m" à la place de 'm' ?

Faut arrêter de déconner, quand t'écris "m" la seul différence c'est que ca fait pensé à un language normal comme tout les languages ou un string est délimités par des ".

Après, si tu veux gagner 1 ms sur 1 milliard d'iteration et bien montrer que PHP c'est un language dont la synthaxe peut être moche alors tu le dit en parenthèse, tu dis pas que le script est pourri à cause de ça.
FhX
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Pareil, autant faire :

// 86400 = 24*3600
.....code.... * 86400 ..... ;


Bon, si 1 itération, ca va rien changer.
Je pense qu'au bout d'un certain... et encore, je doute :o
Un calcul d'entier est le plus rapide, on risque de perdre 1ms sur 1 000 000 000 d'itération !
C'est Antho qui risque de se tirer les cheveux :p
coockiesch
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
C'est pour ça que y'a les comments, :)
Enfin, je trouve, même si c personnel!

@++

R@f

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.