Calculer la différence en minutes entre 2 heures

Résolu
cs_Eric25
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
- 8 juin 2005 à 21:28
cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
- 9 juin 2005 à 12:30
Bonsoir,

Je voudrais calculer la différence en minutes entre 2 heures. J'ai fais le tour des messages traitant des opérations sur les heures sur le forum mais je n'ai pas trouvé exactement ce que je voulais.
Voici mon code actuel, la différence n'est pas en minute mais il s'agit d'une concaténation entre l'heure et les minutes et en plus ca ne marche pas.
Pouvez vous m'aider a corriger mon code.

mon code (celui-ci intervient pour tester si une session n'est pas ouverte depuis plus de 20 minutes) :
//j'extrais la date et l'heure de la variable session de début de session
list($date, $time) = explode(" ", $_SESSION['debut']);
//Je vais effectuer un calcul sur le temps depuis le début de la session
$HeureDeb = $time;
$HeureActu = date("H:i:s");

$TimeDeb = explode ( ":", $HeureDeb);
$TimeFin = explode ( ":", $HeureActu);

$Duree = date( "Hm", mktime( ($TimeFin[0]-$TimeDeb[0]) , ( $TimeFin[1]-$TimeDeb[1] ) ,0) );

if((!isset($_SESSION["login"])) || ($date<>date("Y-m-d")) ||($Duree>20))
{
[file://\\ fermeture \\ fermeture] de la session
\\ demande d'identification

Merci d'avance

6 réponses

cs_Eric25
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
9 juin 2005 à 12:13
Finalement je m'en suis sorti plus simplement:
lors de la creation de la session : $_SESSION['debut']=date("YmdHi");
puis ensuite :
$datesess=$_SESSION['debut'];
$dateactu = date("YmdHi");
$intervalle=($dateactu-$datesess);

Au moins ca marche car meme avec un format valide (je n'avais pas le bon format pour la fonction mktime) : H:i:s m-d-Y, la fonction mktime ne retourne rien d'exploitable...
5
cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
8 juin 2005 à 22:57
Salut,



tu récupères tes deux dates avec mktime()



ensuite tu fais la différence des deux :



$intervalle=mktime($date1)-mktime($date2);



$duree=$intervalle%60;



ça te retournera le nombre de minutes :-)



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Eric25
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
8 juin 2005 à 23:42
Merci beaucoup, c nickel...
0
cs_Eric25
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
9 juin 2005 à 10:23
Euh, en fait je me suis un peu emballé ca ne marche pas...

voilà mon code:
//j'extrais la date et l'heure de la variable session (début de session)
list($datesess, $timesess) = explode(" ", $_SESSION['debut']);
//Je vais effectuer un calcul sur le temps depuis le début de la session
$HeureDeb = $timesess;
$HeureActu = date("H:i:s");
$intervalle=(mktime($HeureActu)-mktime($HeureDeb));
$duree=$intervalle%60;
//Affichage pour tester
echo"deb: $HeureDeb, fin : $HeureActu";
echo"$duree";
//Je test si la validité de la session
if(($datesess<>date("Y-m-d")) ||($duree>20))
{
//include"logout.php";
//header("Location: ident_esp_perso.php");
}

$duree renvoi toujours 0, pourtant le code a l'air correct...
Qu'est-ce qui cloche?

Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Eric25
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
9 juin 2005 à 10:57
Je me suis rendu compte que je ne faisais pas l'opération sur 2 variables de typte timestamp, j'ai corrigé mais ca ne marche tj pas...


mon code :

$datesess=$_SESSION['debut'];
$dateactu = date("Y-m-d H:i:s");
$intervalle=(mktime($dateactu)-mktime($datesess));
$duree=$intervalle%60;

$duree renvoi tj 0,

HELP...
0
cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
9 juin 2005 à 12:30
oki

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0