5/5 (5 avis)
Snippet vu 10 554 fois - Téléchargée 18 fois
<? function date_diff($datedebut,$datefin) /// format de vos dates date("Y-m-d H:i:s"); { list($de,$td) = explode(' ', $datedebut); // Séparation date et heure début list($df,$tf) = explode(' ',$datefin); // Séparation date et heure fin $dd = split("-",$de); $ddannee = $dd[0]; $ddmois = $dd[1]; $ddjour = $dd[2]; /// date 1 $hd = split(":",$td); $hdheure = $hd[0]; $hdmin = $hd[1]; $hdsec = $hd[2]; /// heure 1 $df = split("-",$df); $dfannee = $df[0]; $dfmois = $df[1]; $dfjour = $df[2]; /// date 2 $hf = split(":",$tf); $hfheure = $hf[0]; $hfmin = $hf[1]; $hfsec = $hf[2]; /// heure 2 $time1=time() - mktime($hdheure, $hdmin, $hdsec, $ddmois, $ddjour, $ddannee); /// difference de seconde entre 1-1-1970 et la date 1 $time2=time() - mktime($hfheure, $hfmin, $hfsec, $dfmois, $dfjour, $dfannee); /// difference de seconde entre 1-1-1970 et la date 2 $tsecs = ceil(($time1-$time2)/60/15); /// time1 - time2 donne le nombre en secondes /// pour avoir les minutes on divise par 60 /// ensuite divise par 15 pour voir le nombre de 1/4 d'heure /// et j'arrondis le tout au dessus car le quart d'heure /// débuté est automatiquement facturé $texte=$tsecs; return $texte; } ?> Pour utiliser la fonction : <? $quantiteminutes=date_diff("2010-09-22 15:30:00","2010-09-22 16:16:00"); echo $quantiteminutes; /// affichage du nombre : 4 soit 4 1/4 d'heure entamés ?>
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);
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.