Problème pour compter les secondes
Fermé
b-boybaki
Messages postés
160
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
10 juin 2010
-
16 juil. 2009 à 06:29
xXPika74Xx Messages postés 115 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 25 mai 2011 - 17 juil. 2009 à 09:15
xXPika74Xx Messages postés 115 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 25 mai 2011 - 17 juil. 2009 à 09:15
A voir également:
- Problème pour compter les secondes
- 94 secondes - Télécharger - Jeux vidéo
- Excel compter cellule couleur sans vba - Guide
- La vidéo à télécharger a été accélérée. elle va 4 fois plus vite que la vidéo d'origine. restaurez la vidéo d'origine. combien de papillons figurent à 3 secondes et 6 images dans la vidéo d'origine ? ✓ - Forum Montage et acquisition vidéo
- Combien de signalement pour supprimer un compte facebook - Forum Facebook
- Écran qui s'éteint au bout de quelques secondes ✓ - Forum Matériel & Système
7 réponses
b-boybaki
Messages postés
160
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
10 juin 2010
3
16 juil. 2009 à 14:53
16 juil. 2009 à 14:53
ben enfaite j'ai fait comme sa pcq j'ai rien compris au fonctionnement de time()
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
16 juil. 2009 à 15:17
16 juil. 2009 à 15:17
en fait, time() retourne un timstamp unix, cad le nombre de secondes écoulées depuis le 1/1/1970.
Donc pour avoir le temps écoulé en secondes entre deux dates/heure il suffit de soustraire leurs timestamp.
Si tu as stocké tes dates dans ta base en format mysql datetime par exemple, mysql a une fonction sympa UNIX_TIMESTAMP(date) qui va retourne le timestamp unix d'une date. Et UNIX_TIMESTAMP() sans paramètre va retourner le TIMESTAMP actuel.
Tu dois donc pouvoir retrouver le temps écoulé depuis l'inscription d'un de tes membres avec une requete du type
ou date_inscription est le champs contenant la date et l'heure d'inscription (au format mysql) à adapter à ton cas et temps_ecoule contiendra donc le nb de secondes depuis cette date.
Donc pour avoir le temps écoulé en secondes entre deux dates/heure il suffit de soustraire leurs timestamp.
Si tu as stocké tes dates dans ta base en format mysql datetime par exemple, mysql a une fonction sympa UNIX_TIMESTAMP(date) qui va retourne le timestamp unix d'une date. Et UNIX_TIMESTAMP() sans paramètre va retourner le TIMESTAMP actuel.
Tu dois donc pouvoir retrouver le temps écoulé depuis l'inscription d'un de tes membres avec une requete du type
SELECT UNIX_TIMESTAMP()-UNIX_TIMESTAMP(date_inscription) as temps_ecoule FROM ...
ou date_inscription est le champs contenant la date et l'heure d'inscription (au format mysql) à adapter à ton cas et temps_ecoule contiendra donc le nb de secondes depuis cette date.
xXPika74Xx
Messages postés
115
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
25 mai 2011
13
16 juil. 2009 à 15:22
16 juil. 2009 à 15:22
Tien utilise cette formule
$timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) - mktime(0, 0, 0, 7, 16, 2009);
le premier mktime récupère le timestamp de la date actuelle
le second récupère celmui de ta date d'inscription que tu devrat utiliser comme ceci:
mktime($heure,$minute, $seconde, $mois, $jour, $anne);
avec $heure, $minute, etc... la date d'inscription
ce qui te donne :
$timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) - mktime($heure,$minute, $seconde, $mois, $jour, $annee);
et tu divise en suite $timestamp par 3600 pour avoir le nombre d'heure depuis l'inscription ou 86400 pour avoir le nombre de jour et ainsi de suite ce qui te donne
$timestamp = $timestamp / 3600;
ou
$timestamp = $timestamp / 86400;
et au final
tu affiche si tu veut vérifer
(si on veut vérifier en jour)
echo $pseudo_de_l'inscrit . " est inscrit depuis " . $timestamp . " jours ";
Dit moi si sa marche chez toi j'ait tester sa marche nikel ;)
$timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) - mktime(0, 0, 0, 7, 16, 2009);
le premier mktime récupère le timestamp de la date actuelle
le second récupère celmui de ta date d'inscription que tu devrat utiliser comme ceci:
mktime($heure,$minute, $seconde, $mois, $jour, $anne);
avec $heure, $minute, etc... la date d'inscription
ce qui te donne :
$timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) - mktime($heure,$minute, $seconde, $mois, $jour, $annee);
et tu divise en suite $timestamp par 3600 pour avoir le nombre d'heure depuis l'inscription ou 86400 pour avoir le nombre de jour et ainsi de suite ce qui te donne
$timestamp = $timestamp / 3600;
ou
$timestamp = $timestamp / 86400;
et au final
tu affiche si tu veut vérifer
(si on veut vérifier en jour)
echo $pseudo_de_l'inscrit . " est inscrit depuis " . $timestamp . " jours ";
Dit moi si sa marche chez toi j'ait tester sa marche nikel ;)
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
16 juil. 2009 à 15:46
16 juil. 2009 à 15:46
Pourquoi pas, mais ne complique pas les choses non plus :-)
mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) fait la même chose que
time()
Ta proposition se résume donc à
C'est un peu plus court
mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) fait la même chose que
time()
Ta proposition se résume donc à
$timestamp = time() - mktime($heure,$minute, $seconde, $mois, $jour, $annee);
C'est un peu plus court
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
16 juil. 2009 à 09:07
16 juil. 2009 à 09:07
Salut,
Je trouve que tu t'embetes beaucoup a creer un timestamp qui existe deja, le timestamp actuel est retourné par time() en php.
Si tu mémorise dans ta base le timestamp a la date de creation tu n'auras qu'a le soustraire du timestamp actuel pour trouver le nombre de secondes écoulées.
Je trouve que tu t'embetes beaucoup a creer un timestamp qui existe deja, le timestamp actuel est retourné par time() en php.
Si tu mémorise dans ta base le timestamp a la date de creation tu n'auras qu'a le soustraire du timestamp actuel pour trouver le nombre de secondes écoulées.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
xXPika74Xx
Messages postés
115
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
25 mai 2011
13
16 juil. 2009 à 15:48
16 juil. 2009 à 15:48
Exact Xd
Mais c'était une formule que j'avait utiliser autrement et que j'ait modifier pour notre ami donc pas penser a celle la désolé :(
Merci de m'avoir corriger Dr zoiberg
Enfin l'important c'est que sa marche ^^
Mais c'était une formule que j'avait utiliser autrement et que j'ait modifier pour notre ami donc pas penser a celle la désolé :(
Merci de m'avoir corriger Dr zoiberg
Enfin l'important c'est que sa marche ^^
b-boybaki
Messages postés
160
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
10 juin 2010
3
17 juil. 2009 à 02:20
17 juil. 2009 à 02:20
pour PIKA jai pa tous compri la ligne la :
$timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) - mktime($heure,$minute, $seconde, $mois, $jour, $annee);
quelles sont les valeurs de $heure, $minute,... ???? comment je les obtient ???
pour le début ok sa va recupérer l'heure, la minute etc etc de la date d'aujourdui pour sa c'est ok
mais pour l'autre je comprend pas tout pcq on a pas donnée de valeur a $heure, $minute etc etc
désoler mais je débute...
$timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) - mktime($heure,$minute, $seconde, $mois, $jour, $annee);
quelles sont les valeurs de $heure, $minute,... ???? comment je les obtient ???
pour le début ok sa va recupérer l'heure, la minute etc etc de la date d'aujourdui pour sa c'est ok
mais pour l'autre je comprend pas tout pcq on a pas donnée de valeur a $heure, $minute etc etc
désoler mais je débute...
xXPika74Xx
Messages postés
115
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
25 mai 2011
13
17 juil. 2009 à 09:15
17 juil. 2009 à 09:15
$heure, $minute,$mois, etc... sont les parties de ta date d'inscription
Prenoms un exemple celui que tu nous a donner
ta date d'inscription est le: 20/01/2004 à 14h25m20s
Comment stock tu la date c'est sa le plus important
si ta date et stocker sour la forme 20/01/2004 14h25m20s
on a donc
$jour = substr($date, 0, 2);
$mois = substr($date, 3, 2);
$annee = substr($date, 6, 4);
$heure = substr($date, 11, 2);
$minute = substr($date, 14, 2);
$seconde = substr($date, 17, 2);
en gros tu récupère chaque partie De ta date de l'année à la seconde et tu t'en sert pour ton timestamp ;)
Prenoms un exemple celui que tu nous a donner
ta date d'inscription est le: 20/01/2004 à 14h25m20s
Comment stock tu la date c'est sa le plus important
si ta date et stocker sour la forme 20/01/2004 14h25m20s
on a donc
$jour = substr($date, 0, 2);
$mois = substr($date, 3, 2);
$annee = substr($date, 6, 4);
$heure = substr($date, 11, 2);
$minute = substr($date, 14, 2);
$seconde = substr($date, 17, 2);
en gros tu récupère chaque partie De ta date de l'année à la seconde et tu t'en sert pour ton timestamp ;)