Comment comparerb deux heures (php)
Fermé
kiki72
Messages postés
7
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
4 avril 2008
-
21 mars 2008 à 09:52
snppf - 14 avril 2009 à 12:46
snppf - 14 avril 2009 à 12:46
A voir également:
- Comment comparerb deux heures (php)
- Easy php - Télécharger - Divers Web & Internet
- Deux ecran pc - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Itinéraire google map entre deux adresses - Guide
- Deux comptes whatsapp - Guide
4 réponses
Tout dépend de comment sont stockées tes dates.. est-ce des champs datetime, varchar, timestamp... ?
Sinon tu peux carrement le faire en SQL (dans ta requète) avec les fonctions de date :
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
=> voir "datediff()"
Sinon tu peux carrement le faire en SQL (dans ta requète) avec les fonctions de date :
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
=> voir "datediff()"
oui, utilise simplement un datediff()
ex: select heured, heuref, datediff(heuref, heured) from ...
NB : datediff ne te remonte qu'une différence en jours ! donc pas forcement génial.
Si tu veux le faire en php regardes du coté de la fonction "strftime" https://www.php.net/strftime
ex: select heured, heuref, datediff(heuref, heured) from ...
NB : datediff ne te remonte qu'une différence en jours ! donc pas forcement génial.
Si tu veux le faire en php regardes du coté de la fonction "strftime" https://www.php.net/strftime
sinon fais :
select UNIX_TIMESTAMP(heured), UNIX_TIMESTAMP(heuref) from ...
et ensuite tu travaille avec des timestamp en utilisant la fonction date() de php pour les formater comme tu veux.
La différence entre les deux sera donc la soustraction des deux dates (en nombre de secondes)
select UNIX_TIMESTAMP(heured), UNIX_TIMESTAMP(heuref) from ...
et ensuite tu travaille avec des timestamp en utilisant la fonction date() de php pour les formater comme tu veux.
La différence entre les deux sera donc la soustraction des deux dates (en nombre de secondes)
voici une fonctio qui marche bien pour faure la difference entre deux heures
/fonction addition heure difheure(debut , fin )
function difheure($heuredeb,$heurefin)
{
$hd=explode(":",$heuredeb);
$hf=explode(":",$heurefin);
$hd[0]=(int)($hd[0]);$hd[1]=(int)($hd[1]);$hd[2]=(int)($hd[2]);
$hf[0]=(int)($hf[0]);$hf[1]=(int)($hf[1]);$hf[2]=(int)($hf[2]);
if($hf[2]<$hd[2]){$hf[1]=$hf[1]-1;$hf[2]=$hf[2]+60;}
if($hf[1]<$hd[1]){$hf[0]=$hf[0]-1;$hf[1]=$hf[1]+60;}
if($hf[0]<$hd[0]){$hf[0]=$hf[0]+24;}
return (($hf[0]-$hd[0]).":".($hf[1]-$hd[1]).":".($hf[2]-$hd[2]));
}
// fin de fonction
?>
/fonction addition heure difheure(debut , fin )
function difheure($heuredeb,$heurefin)
{
$hd=explode(":",$heuredeb);
$hf=explode(":",$heurefin);
$hd[0]=(int)($hd[0]);$hd[1]=(int)($hd[1]);$hd[2]=(int)($hd[2]);
$hf[0]=(int)($hf[0]);$hf[1]=(int)($hf[1]);$hf[2]=(int)($hf[2]);
if($hf[2]<$hd[2]){$hf[1]=$hf[1]-1;$hf[2]=$hf[2]+60;}
if($hf[1]<$hd[1]){$hf[0]=$hf[0]-1;$hf[1]=$hf[1]+60;}
if($hf[0]<$hd[0]){$hf[0]=$hf[0]+24;}
return (($hf[0]-$hd[0]).":".($hf[1]-$hd[1]).":".($hf[2]-$hd[2]));
}
// fin de fonction
?>
21 mars 2008 à 12:05
et je voudrais pouvoir calculer la durée entre les deux pour l'afficher dans un tableau!! vous voyers a peut pret le truc?