Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/03/2011, 13h07   #1
Futur Membre du Club
 
Inscription : mai 2009
Messages : 224
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 224
Points : 18
Points : 18
Par défaut soustraction timestamp avec une heure en trop ?

Bonjour

Je cherche a connaitre l'ecart en minutes et seconde de deux timestamp, j'ai l'impression que cela fonctionne, mais il me rajoute une heure a chaque fois..

Est-ce du au changement d'heure ? et si oui comment reglé le probleme ?

Code :
1
2
3
4
5
6
7
 
$maintenant = time();
$heu = mysql_query("SELECT * FROM heure WHERE id_patient = '$id_membres' LIMIT 1 ");
$heure = mysql_fetch_array($heu);
$heurearr = $heure['temps'];
$attente = date("H:i",$maintenant - $heurearr);
echo $attente;
si quelqu'un pouvait m'eclairer, ca serait sympa..

Merci
groskanel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 13h28   #2
Membre éprouvé
 
Homme Gaetan
Webmaster
Inscription : janvier 2007
Messages : 386
Détails du profil
Informations personnelles :
Nom : Homme Gaetan
Âge : 40
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : Biens de consommation

Informations forums :
Inscription : janvier 2007
Messages : 386
Points : 441
Points : 441
Envoyer un message via MSN à Gaetan_
Bonjour,

En faisant un date("H:i"); il t'affiche une heure de plus ?
Tu as un serveur dédié ?
Gaetan_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 13h29   #3
Futur Membre du Club
 
Inscription : mai 2009
Messages : 224
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 224
Points : 18
Points : 18
non en demandant l'heure au serveur j'obtiens la bonne heure..

et c'est un serveur mutualisé
groskanel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 13h46   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu as un exemple avec des valeurs ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 13h50   #5
Futur Membre du Club
 
Inscription : mai 2009
Messages : 224
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 224
Points : 18
Points : 18
oui voila ce qu'il me retourne :

Code :
1
2
$attente = date("H:i",1299157211 - 1299153749);
echo $attente;
ce qui fait : 1h50
groskanel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 14h51   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
date() affiche des dates, il ne calcule pas des temps

Code :
1
2
$diff = 1299157211 - 1299153749;
$attente = floor($diff/3600) . "h" . ($diff/60)%60;
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 15h14   #7
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,
Pourquoi ne pas utiliser les fonctions dédiées à ces opérations ? (date_diff par exemple)
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 16h52   #8
Futur Membre du Club
 
Inscription : mai 2009
Messages : 224
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 224
Points : 18
Points : 18
ta solution marche bien sabotage..

Juste une question pour 4h02 il affiche 4h2 il y a un moyen de l'avoir sous la forme 4h02 ?
groskanel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 18h10   #9
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Code :
1
2
$diff = 1299157211 - 1299153749;
$attente = sprintf("%02d",floor($diff/3600))  . "h" . sprintf("%02d",($diff/60)%60);
Mais comme te l'as dit Thes, si tu bénéficie de PHP5.3 utilise date_diff()
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 18h13   #10
Futur Membre du Club
 
Inscription : mai 2009
Messages : 224
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 224
Points : 18
Points : 18
super, merci

et non pas de php 5.3
groskanel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h28.


 
 
 
 
Partenaires

Hébergement Web