Dtae heure ...

Signaler
Messages postés
117
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2009
-
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
-
Bonjour,

vola, je stoche deux date dans ma base : en datetime

une c'est le jour de l'interevntion , l'autre c'est 7 jours plus tard. jsuque la aucun probleme.

MAis mnt, je voudrai sur une autre page recupere la date du jour meme, pour la compare avec celle de 7 jour plus tard pour pouvoir afficher soit reste : 3j 18h 24m 11s
ou en retard de 4j 11h12m01s

qui peut m'aider?
Merci d'avance

5 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Ce que je ferais c'est de passer en timestamp via mktime. Ensuite, tu fais la différence entre les deux. Selon le signe de la différence on est en retard ou en avance. Pour la suite, tout se joue avec l'opérateur %: 9 % 4 te donne le reste de la division entière de 9 par 4 .

Si tu as le résultat de la différence dans $time:
$reste = $time % 86400;
$jours = ( $time - $reste ) / 86400;
$time = $reste;
$reste = $time % 3600;
$heures = ( $time - $reste ) / 3600;
...

Je pense que ca doit jouer!

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
117
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2009

Je comprend pas tres bien, je dois changer dans ma base le datetime en timestamps?

et ensuite?

je debute en php desole :$
Messages postés
117
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2009

$reste = $time % 32140800;
$annee = ($time - $reste )/32140800;
$time = $reste;
$reste = $time % 2678400;
$mois = ($time - $reste )/2678400;
$time = $reste;
$reste = $time % 86400;
$jours = ( $time - $reste ) / 86400;
$time = $reste;
$reste = $time % 3600;
$heures = ( $time - $reste ) / 3600;
$time = $reste;
$reste = $time % 60;
$minutes = ( $time - $reste ) / 60;


$seconde = ($time-$reste);

echo" $annee .... $mois$minutes ....$jours .... $heures .........$minutes ....... $seconde";
voici ce que ca m'affiche :
<!--StartFragment --> 35 .... 632 ....2 .... 14 .........32 ....... 1920

qui peux m'aider ai je une rreur quelque part? j'ai stocke ma valeur comme ce ci $time=time() puis j'ai mit time en base de donnee soit : <!--StartFragment --> 1141223534

Merci d'avance
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
"vola, je stoche deux date dans ma base : en datetime
une c'est le jour de l'interevntion , l'autre c'est 7 jours plus tard. jsuque la aucun probleme.
MAis mnt, je voudrai sur une autre page recupere la date du jour meme,
pour la compare avec celle de 7 jour plus tard pour pouvoir afficher
soit reste : 3j 18h 24m 11s
ou en retard de 4j 11h12m01s"
$sql "SELECT TIMEDIFF('champ_7jours_plus_tard', NOW()) FROM ta_table WHERE id_intervention 1"; // ID intervention c'est pour l'exemple.

Tu peux faire ca directement en SQL lorsque tu sélectionnes tes interventions par exemple. Ca évite un traitement en PHP.
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Lol! J'étais bien barbare... Merci FhX! :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"