Problème pour compter les secondes
b-boybaki
Messages postés
160
Date d'inscription
Statut
Membre
Dernière intervention
-
xXPika74Xx Messages postés 123 Statut Membre -
xXPika74Xx Messages postés 123 Statut Membre -
Bonjour,
alors voila mon problème, grâce a mon programme j'arrive à compter le nombre de seconde qui se sont écouler entre ma date d'inscription et la date d'aujourd'hui.
mon problème c'est que ma fonction ne va pas tenir compte de l'heure d'inscription et l'heure aujourd'hui et moi je voudrai que mon programme compte également les seconde et tenant compte des heure d'aujourd'hui et de l'heure de mon inscription.
je vous donne mon programme, j sais que y'a quelque tite choses a modifier mai sje ne sais pas lesqu'elle si vous pouviez m'aidez sa serai gentil
<html>
<head>
</head>
<body>
<?php
$name = $_POST['pseudo'];
$mot = $_POST['mdp'];
$mot2 = $_POST['mdp2'];
$dateins = date("j m Y");
echo $name."<br/>";
echo $mot."<br/>";
echo $mot2."<br/>";
//connxeion au serveur
$db = mysql_connect("localhost","root","") or die ("connexion au serveur impossible".mysql_error());
//ouverture de la base de donnée
mysql_select_db("lol",$db) or die ("erreur de connexion à la base");
//requete dinsertion
$req = "insert into joueur values ('$name','$mot','$mot2','$dateins')";
//execution
$sql = mysql_query($req);
//requete recup
$cat = "select * from joueur where nom='lafont';";
$sqlcat = mysql_query($cat);
while($ligne = mysql_fetch_array($sqlcat))
{
$dateins2 = $ligne['ins'];
$jour1 = substr($dateins2, 0, 2); // on récupère le jour
$mois1 = substr($dateins2, 3, 2); // puis le mois
$annee1 = substr($dateins2, 6, 4); // et l'annee ...
$timestamp2 = mktime(0, 0, 0, $mois1, $jour1, $annee1);
$date = date("j m Y");
$jour = substr($date, 0, 2); // on récupère le jour
$mois = substr($date, 3, 2); // puis le mois
$annee = substr($date, 6, 4); // et l'annee ...
$timestamp = mktime(0, 0, 0, $mois, $jour, $annee);
$ecart_secondes = $timestamp - $timestamp2;
echo $ecart_secondes."<br/>";
}
?>
</body>
</html>
voila par exemple mon code ne permet pas de calculer le nombre de seconde entre la date et l'heure d'aujourd'hui ex 16/06/2009 06h31m30s et une date d'inscription qui serai par exemple le 20/01/2004 à 14h25m20s
et moi je voudrais qu'il puisse faire sa
merci d'avance de votre aide
alors voila mon problème, grâce a mon programme j'arrive à compter le nombre de seconde qui se sont écouler entre ma date d'inscription et la date d'aujourd'hui.
mon problème c'est que ma fonction ne va pas tenir compte de l'heure d'inscription et l'heure aujourd'hui et moi je voudrai que mon programme compte également les seconde et tenant compte des heure d'aujourd'hui et de l'heure de mon inscription.
je vous donne mon programme, j sais que y'a quelque tite choses a modifier mai sje ne sais pas lesqu'elle si vous pouviez m'aidez sa serai gentil
<html>
<head>
</head>
<body>
<?php
$name = $_POST['pseudo'];
$mot = $_POST['mdp'];
$mot2 = $_POST['mdp2'];
$dateins = date("j m Y");
echo $name."<br/>";
echo $mot."<br/>";
echo $mot2."<br/>";
//connxeion au serveur
$db = mysql_connect("localhost","root","") or die ("connexion au serveur impossible".mysql_error());
//ouverture de la base de donnée
mysql_select_db("lol",$db) or die ("erreur de connexion à la base");
//requete dinsertion
$req = "insert into joueur values ('$name','$mot','$mot2','$dateins')";
//execution
$sql = mysql_query($req);
//requete recup
$cat = "select * from joueur where nom='lafont';";
$sqlcat = mysql_query($cat);
while($ligne = mysql_fetch_array($sqlcat))
{
$dateins2 = $ligne['ins'];
$jour1 = substr($dateins2, 0, 2); // on récupère le jour
$mois1 = substr($dateins2, 3, 2); // puis le mois
$annee1 = substr($dateins2, 6, 4); // et l'annee ...
$timestamp2 = mktime(0, 0, 0, $mois1, $jour1, $annee1);
$date = date("j m Y");
$jour = substr($date, 0, 2); // on récupère le jour
$mois = substr($date, 3, 2); // puis le mois
$annee = substr($date, 6, 4); // et l'annee ...
$timestamp = mktime(0, 0, 0, $mois, $jour, $annee);
$ecart_secondes = $timestamp - $timestamp2;
echo $ecart_secondes."<br/>";
}
?>
</body>
</html>
voila par exemple mon code ne permet pas de calculer le nombre de seconde entre la date et l'heure d'aujourd'hui ex 16/06/2009 06h31m30s et une date d'inscription qui serai par exemple le 20/01/2004 à 14h25m20s
et moi je voudrais qu'il puisse faire sa
merci d'avance de votre aide
A voir également:
- Problème pour compter les secondes
- 94 secondes - Télécharger - Jeux vidéo
- Excel compter cellule couleur sans vba - Guide
- 1 million de secondes en année - Accueil - Technologies
- Créer un compte gmail pour une autre personne - Guide
- Comment faire pour créer un compte google - Guide
7 réponses
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.
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 ;)
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
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 ^^
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...
$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 ;)