Deffirence entre deux date (ans, mois, semaines, jour)

cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013 - 30 avril 2003 à 00:39
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 - 3 mai 2003 à 00:44
salut,

dans une zone membre je veux affiche des dates recuperer depuis un champs DATETIME d'un enregistrement.

dans ce champ je sauvegarde la derniere date de visite d'un membre.

par exemple la derniere date de visite donnée est : "2002-12-23 14:02"

alors quant le visiteur se loggue dans son espace membre il aura l'affichage suivant :

echo "bienvenu".$_SESSION['login'];
echo "votre derniere visite remonte au ".$d."/".$m."/".$Y." à ".$heure.":".$minute;
echo "vous ".$ans." an ".$mois." mois ".$semaine." semaine depuis votre derniere visite";

alors comment avoir correctement cette affichage avec les variables indiquées dedans ?

Merci.

-----------------------------------------------------------------------------------------
Debutant PHP/SQL, Delphi
Club de correspondance :
http://www.elatlasclub.fr.st

5 réponses

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
30 avril 2003 à 01:14
Salut

pour faire des calcul de date utilise mktime()

++

--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub
0
cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013
30 avril 2003 à 21:52
salut,

j'ai essaye le strftime mais je n'ai pas eu le resultat voulu.

je crois qu'il faut calculer l'ecart entre deux date exprime en : ans,mois,semaines,jours,heures,minutes,secondes

bon,

je definie deux date : (ca peut servir pour calculer l'age exacte, on peut appeler cela un compteur de vie par exemple)

la premiere : 1970-06-18 10:00:20
la deuxieme : 2003-04-30 20:10:30

en calculant cela d'une maniere visuelle on aura ceci :

32 an, 10 mois, 1 semaine, 5 jours, 10 heures, 10 minutes et 10 seconds

mais en executant le script ci-dessous :

// calculs
$duree="1037182210"; // l'ecart entre les deux date exprime en secondes (temps UNIX timestamp)
$an=$duree/(365*24*3600); $an0=$duree%(365*24*3600);//annee
$mois=$an0/(30*24*3600); $mois0=$mois%(30*24*3600);// mois
$semaine=$mois0/(7*24*3600); $semaine0=$semaine%(7*24*3600);
$jour=$semaine0/(24*3600); $jour0=$jour%(24*3600);// jour
$heure=$jour0/(3600); $heure0=$heure%(3600);
$min=$heure0/(60); $min0=$min%60;
$sec=$min0;

on aura cela :

an=32.888832128361, mois=10.814124228395, semaine=1.6534391534392E-005, jour=0, heure=0, min=0, sec=0

vous voyez que le resultat est un peu different de ce que nous avons calculer visuellement
alors comment peut-on avoir le meme resultat avec notre script?

Merci.

:)
----------------------------------------------------------------------
Debutant PHP/SQL, Delphi
Club de correspondance :
http://www.elatlasclub.fr.st
0
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
1 mai 2003 à 14:53
salut!

tu crées 2 variables $debut et $fin par exemple

$debut=mktime($heures,$minutes,$secondes,$mois,$jour,$an)

avec tes valeurs pour les 2
après tu fais tes calculs avec ces variables :

$resultat=$fin-$debut;

pour avoir un résultat lisible, tu utilises la fonction date():

echo date("d/m/y à H:i",$resultat); par exemple

j'ai pas essayé mais je pense que ça marche

bye

:big) Sylvain [[mailto:bitsenfolie@free.fr email]] [web]
0
cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013
3 mai 2003 à 00:02
salut,

j'ai essaye la fonction standard de php qui est strftime() :

echo "
".strftime("depuis %y ans %m mois %d jours %H heures %M minutes %S secondes","1037182210");

ca donne :

depuis 02 ans 11 mois 13 jours 11 heures 10 minutes 10 secondes

par exemple pour les annees on a 02 ans et non pas 32 ans
pour les mois et les heures on a 1 de plus.
le reste ca va.

alors y-t-il un moyen d'avoir le meme resultat cite en haut ?

Merci.
------------------------------------------------------------------
Debutant PHP/SQL, Delphi
Club de correspondance :
http://www.elatlasclub.fr.st
0

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

Posez votre question
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
3 mai 2003 à 00:44
salut
là, je sais pas comment faire, désolé...

:big) Sylvain [[mailto:bitsenfolie@free.fr email]] [web]
0
Rejoignez-nous