DIFFÉRENCE ENTRE DEUX DATES ET HEURES CALCULÉ EN SECONDES/MINUTES ETC...
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 2011
-
23 sept. 2010 à 00:49
mike -
6 août 2016 à 18:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
function time_to_str($seconds,$precision=1){
$units=array('an'=>31556926,'mois'=>2629743,'semaine'=>604800,'jour'=>86400,'heure'=>3600,'minute'=>60,'seconde'=>1);foreach($units as $a=>$b){if($b<=$seconds){$n=intval($seconds/$b);$c[]=$n.' '.$a.($n>1?'s':'');$seconds-=$n*$b;}}return is_array($c)?str_replace('ss','s',implode(' et ',array_slice($c,0,min($precision,2)))):'un instant';
}
houndegnonm
Messages postés12Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention16 mai 2012 30 sept. 2010 à 19:46
très bien expliqué
abdelaziz_info
Messages postés120Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention12 janvier 2017 23 sept. 2010 à 19:43
salut
Simplifier... Oh oui c’est superbe mais on va Peut-être te dire que ce n’est pas ici que tu dois poster ton code.
10/10 pour ton effort
Bon courage.
Mik4do
Messages postés13Date d'inscriptionsamedi 19 juillet 2003StatutMembreDernière intervention 4 octobre 2012 23 sept. 2010 à 09:19
Ahhh .. oui en effet, je vais tester ce code...
Ma méthode fonctionne également mais si une ligne résume les 20 ... ça allégera le serveur.
Merci Neigedhiver ^^
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 23 sept. 2010 à 00:49
Salut,
C'est bien compliqué...
Je pense qu'il est plus rapide (et plus simple, plus lisible, etc) d'utiliser strtotime() pour convertir une date en secondes. On fait une soustraction, on divise par 60, on a des heures d'écart...
En une ligne, voici comment avoir le nombre de minutes commencées entre deux dates :
6 août 2016 à 18:20
30 sept. 2010 à 19:46
23 sept. 2010 à 19:43
Simplifier... Oh oui c’est superbe mais on va Peut-être te dire que ce n’est pas ici que tu dois poster ton code.
10/10 pour ton effort
Bon courage.
23 sept. 2010 à 09:19
Ma méthode fonctionne également mais si une ligne résume les 20 ... ça allégera le serveur.
Merci Neigedhiver ^^
23 sept. 2010 à 00:49
C'est bien compliqué...
Je pense qu'il est plus rapide (et plus simple, plus lisible, etc) d'utiliser strtotime() pour convertir une date en secondes. On fait une soustraction, on divise par 60, on a des heures d'écart...
En une ligne, voici comment avoir le nombre de minutes commencées entre deux dates :
$diff = ceil((strtotime($datefin) - strtotime($datedebut))/60);
Pour les heures :
$diff = ceil((strtotime($datefin) - strtotime($datedebut))/3600);