Ecart de date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ecart de date

par ephemere » 26 avr. 2006, 10:21

Voila j'ai trouvé:
Je met ça si jamais ça peux aider quelqu'un:
$date = $res['Date_signalement'];echo $date;
$jour = substr($date, 8, 2); // on récupère le jour
$mois = substr($date, 5, 2); // puis le mois
$annee = substr($date, 0, 4); // et l'annee$timestamp = mktime(0, 0, 0, $mois, $jour, $annee); // -- DATE ACTUELLE --// directement en timestamp.
$maintenant = time(); // -- CALCUL --// on calcule le nombre de secondes d'écart entre les deux dates
$ecart_secondes = $maintenant - $timestamp;// puis on tranforme en jours (arrondi inférieur)
$ecart_jours = floor($ecart_secondes / (60*60*24));// enfin on affiche le résultatsetlocale
echo $ecart_jours;
Merci a tous :wink:

par FuR[i]OuS » 26 avr. 2006, 00:54

On peut utiliser le mysql pour faire les calculs aussi...

par cortex007 » 25 avr. 2006, 18:41

le truc "facile" c'est d'utiliser la fonction date avec le paramettre U pour generer la date en seconde .... le truc a faire ensuite est une operation de soustraction avec une date reduite de la meme maniere. Puis reste a convertir le resultat en minutes, heures, jours, semaine ect .... mais je crois qu'il y a une fonction qui le fait aussi ;)

par Ryle » 25 avr. 2006, 15:41

Parse error: syntax error, unexpected T_VARIABLE, expecting '=' in c:\Inetpub\wwwroot\test.php on line 18
Et si tu rajoutais le "=" en question voire si ce que dit php n'est pas complétement idiot :)
list($annee, $mois, $jour) = array('annee'=>$annee, 'mois'=>$mois, 'jour'=>$jour); 
Il faudra songer à jeter un p'tit coup d'oeil sur la fonction list() dans la doc pour savoir comment elle fonctionne :) Je pense que son usage n'est pas utile ici si tu as déjà les valeurs dans les variables $annee, $mois et $jour...

par jojolapine » 25 avr. 2006, 15:38

il te manque pas mal de choses, par exemple tu crée un tableau mais il faut le stocker dans une variable, ce qui n'est pas le cas ensuite, tu as oublié un point de concaténation dans cette ligne:
echo $ecart 'jours'; 
je te conseil de revoir ton code...(tu la copier/coller d'où? :roll: )
et tu reviens après :wink:

par ephemere » 25 avr. 2006, 15:30

Ben si je met le point virgule:

Parse error: syntax error, unexpected ';', expecting '=' in c:\Inetpub\wwwroot\test.php on line 17

Si je le met pas:

Parse error: syntax error, unexpected T_VARIABLE, expecting '=' in c:\Inetpub\wwwroot\test.php on line 18

Si j'enleve la ligne avec list pareil mais ligne 22

Donc c'est bien des erreurs de syntaxes mais a mon avis le fond est pas tip top non plus...

par jojolapine » 25 avr. 2006, 15:19

je ne comprend pas trop cette ligne:
list($annee, $mois, $jour) 
déja je pense que tu as oublié le ; final...
mais au fait, c'est quoi qui marche pas dans ton histoire?
t'a un message d'erreur ou ça n'affiche pas ce que tu veux?

Ecart de date

par ephemere » 25 avr. 2006, 14:49

Salut a tous!! :D
Alors voila j'ai essayé de me faire un bout de code calculant automatiquement l'écart de temps (en jours et années) a partir d'une date de ma base de données.

Je me suis servi de la Faq mais j'ai un peu de mal à le transcrire:
$date = $res['Date_signalement'];
list($annee, $mois, $jour)
 Array('annee'=>$annee, 'mois'=>$mois, 'jour'=>$jour);
$time = mktime(0, 0, 0, $jour, $mois, $annee);
$aujourdhui = time();
$ecart = $aujourdhui - $time; 
$ecart = floor($ecart / 3600 / 24);
echo $ecart 'jours'; 
$ecart = floor($ecart / 365);
echo $ecart.' années';
Bon je sais ça a un peu l'air de n'importe quoi mais faut dire ça fait un ptit moment que je triture la bete !
Si quelqu'un sait...
merki ! :wink: