Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1949 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Afficher ma fonction date.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher ma fonction date.

n°1650536
jc66
Posté le 28-11-2007 à 20:24:50  profilanswer
 

Bonsoir, je veut mettre une fonction date, mais je ne sait pas du comment l'afficher.
Cette focntion permet d'écrire un texte en fontion de la date à laquelle on a posté un message, genre hier, aujourd'hui, ou bien encore, il y a x minutes....
 
J'ai fait ca:
 

Code :
  1. <?  function date_complexe($date)
  2. {
  3. if($date > (time() - 60)) return'Il y a '.date('s', time() - $date).' seconde'.s(date('s', time() - $date));
  4. elseif($date > (time() - 3600)) return'Il y a '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  5. elseif($date > (time() - 7200)) return'Il y a 1 heure et '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  6. elseif(date('d.m.Y', $date) == date('d.m.Y', time())) return'Aujourd\'hui à '.date('H\hi', $date);
  7. elseif(date('d.m.Y', $date) == date('d.m.Y', time() - 86400)) return'Hier à '.date('H\hi', $date);
  8. else return $date;
  9. }  ?>


 
 
Je ne sait pas si j'ai renseigné cette ligne :
else return $date;
 
 
Ni comment afficher la date, avec un echo ou comment ???
 
Bref je suis perdu.
 
 

mood
Publicité
Posté le 28-11-2007 à 20:24:50  profilanswer
 

n°1650538
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 28-11-2007 à 20:42:20  profilanswer
 

bah oui, echo date_complexe($tadate);


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1650542
jc66
Posté le 28-11-2007 à 20:47:23  profilanswer
 

WiiDS a écrit :

bah oui, echo date_complexe($tadate);


 
Donc je met  

Code :
  1. echo date_complexe($date)


 
 
Mais il doit y avoir un souci sur cette ligne :

Code :
  1. else return $date;


 
 
J'ai mis :

Code :
  1. $date


et on me dit de mettre le format de la date.
 

n°1650544
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 28-11-2007 à 20:50:02  profilanswer
 

jc66 a écrit :


 
Donc je met  

Code :
  1. echo date_complexe($date)


 
 
Mais il doit y avoir un souci sur cette ligne :

Code :
  1. else return $date;


 
 
J'ai mis :

Code :
  1. $date


et on me dit de mettre le format de la date.
 


Pour la date, tu dois mettre un timestamp


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1650546
jc66
Posté le 28-11-2007 à 20:52:36  profilanswer
 

comme ceci ?
 
else return $timestamp;
 
Actuellement j'ai rien qui s'affiche
 
 
 
 
le code actuel:
 
 

Code :
  1. <?  function date_complexe($date)
  2. {
  3. if($date > (time() - 60)) return'Il y a '.date('s', time() - $date).' seconde'.s(date('s', time() - $date));
  4. elseif($date > (time() - 3600)) return'Il y a '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  5. elseif($date > (time() - 7200)) return'Il y a 1 heure et '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  6. elseif(date('d.m.Y', $date) == date('d.m.Y', time())) return'Aujourd\'hui à '.date('H\hi', $date);
  7. elseif(date('d.m.Y', $date) == date('d.m.Y', time() - 86400)) return'Hier à '.date('H\hi', $date);
  8. else return  $timestamp;
  9. }  ?> <? echo date_complexe($date); ?>

Message cité 1 fois
Message édité par jc66 le 28-11-2007 à 20:54:33
n°1650660
jc66
Posté le 29-11-2007 à 09:59:02  profilanswer
 

Dans ma base j'ai le timestamps qui s'affiche (la table du timestamp est appelée "temps)

n°1651030
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 29-11-2007 à 20:00:32  profilanswer
 

jc66 a écrit :

comme ceci ?
 
else return $timestamp;
 
Actuellement j'ai rien qui s'affiche
 
 
 
 
le code actuel:
 
 

Code :
  1. <?  function date_complexe($date)
  2. {
  3. if($date > (time() - 60)) return'Il y a '.date('s', time() - $date).' seconde'.s(date('s', time() - $date));
  4. elseif($date > (time() - 3600)) return'Il y a '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  5. elseif($date > (time() - 7200)) return'Il y a 1 heure et '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  6. elseif(date('d.m.Y', $date) == date('d.m.Y', time())) return'Aujourd\'hui à '.date('H\hi', $date);
  7. elseif(date('d.m.Y', $date) == date('d.m.Y', time() - 86400)) return'Hier à '.date('H\hi', $date);
  8. else return  $timestamp;
  9. }  ?> <? echo date_complexe($date); ?>



 
Tout d'abord je te conseille vivement d'apprendre le PHP, parce que la c'est de la bidouille au pifomètre et forcément ca marchera jamais si tu continues ainsi. Première chose, pourquoi fermer la balise php (?> ) pour la réouvrir juste après ? oO
 
Enfin de toutes facons comme tu comprends pas grand chose, je te passe le code rectifié :
 

Code :
  1. <?php  
  2. function date_complexe($date)
  3. {
  4. if($date > (time() - 60)) return'Il y a '.date('s', time() - $date).' seconde'.s(date('s', time() - $date));
  5. elseif($date > (time() - 3600)) return'Il y a '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  6. elseif($date > (time() - 7200)) return'Il y a 1 heure et '.date('i', time() - $date).' minute'.s(date('i', time() - $date));
  7. elseif(date('d.m.Y', $date) == date('d.m.Y', time())) return'Aujourd\'hui à '.date('H\hi', $date);
  8. elseif(date('d.m.Y', $date) == date('d.m.Y', time() - 86400)) return'Hier à '.date('H\hi', $date);
  9. else return 'Le '.date('d-m-Y', $date).' à '.date('H\hi', $date);
  10. }
  11.  
  12. echo date_complexe(mktime(0, 0, 0, 1, 1, 1998));
  13. ?>


 
Pour information, le timestamp est une valeur qui indique le nombre de secondes écoulées depuis le 1er janvier 1970. Pour afficher le timestamp actuel, il faut utiliser la commande time(); et pour afficher le timestamp d'une date précise il faut utiliser la commande mktime telle que :
 
mktime(0, 0, 0, NOMOIS, NOJOUR, ANNEE);
 
Par exemple, pour le 10 septembre 2001 :
 
mktime(0, 0, 0, 9, 10, 2001);
 
Pour le 8 janvier 2009 :
 
mktime(0, 0, 0, 1, 8, 2009);


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1651263
jc66
Posté le 30-11-2007 à 08:39:36  profilanswer
 

ok, mais si je met exactement ce code j'ai ca qui s'affiche
 
 Le 01-01-1998 à 00h00
 
 
 
Je précise, j'ai mon timestamps dans une table appellée:  temps
 
dans cette base j'ai par exemple:  1196373165
 
 
si je remplace à la main:   echo date_complexe(mktime(0, 0, 0, 1, 1, 1998));
 
par
 
echo date_complexe(1196373165);
 
j'ai bien ce que je veut, soit ca:   Hier à 22h52  

n°1651599
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 30-11-2007 à 23:34:26  profilanswer
 

jc66 a écrit :

ok, mais si je met exactement ce code j'ai ca qui s'affiche
 
 Le 01-01-1998 à 00h00
 
 
 
Je précise, j'ai mon timestamps dans une table appellée:  temps
 
dans cette base j'ai par exemple:  1196373165
 
 
si je remplace à la main:   echo date_complexe(mktime(0, 0, 0, 1, 1, 1998));
 
par
 
echo date_complexe(1196373165);
 
j'ai bien ce que je veut, soit ca:   Hier à 22h52  


 
mktime() sert juste a créer le timestamp d'une date antérieure ou future, si tu as déja ton timestamp il coule de source que tu n'as pas besoin d'utiliser mktime.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1651701
jc66
Posté le 01-12-2007 à 18:10:15  profilanswer
 

J'ai une erreur
 
Fatal error: Call to undefined function s() in /home/www/cd1ee2001e19aa/web/indextime.php on line 255
 
La ligne 255 c'est ca:

Code :
  1. elseif($date > (time() - 7200)) return'Il y a 1 heure et '.date('i', time() - $date).' minute'.s(date('i', time() - $date));


 
mon echo pour appeller la fonction

Code :
  1. echo date_complexe(strtotime($data['date1']));


 
 
si je supprime la ligne 255 ca fonctionne pour les autre date


Message édité par jc66 le 01-12-2007 à 18:13:15
mood
Publicité
Posté le 01-12-2007 à 18:10:15  profilanswer
 

n°1651704
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 01-12-2007 à 18:21:26  profilanswer
 

Code :
  1. elseif($date > (time() - 7200)) return'Il y a 1 heure et '.date('i', time() - $date).' minutes'.date('i', time() - $date);


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1651705
Shinuza
This is unexecpected
Posté le 01-12-2007 à 18:27:52  profilanswer
 

Y'a personne qui à l'impression que  c'est legerement illisible?


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1651710
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 01-12-2007 à 18:34:43  profilanswer
 

On est parfaitement d'accord.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1651913
jc66
Posté le 02-12-2007 à 22:01:08  profilanswer
 

Shinuza a écrit :

Y'a personne qui à l'impression que  c'est legerement illisible?


 
 
Oui mais ca fonctionne :)
 
Merci à tous :)

Message cité 2 fois
Message édité par jc66 le 02-12-2007 à 22:01:32
n°1651915
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 02-12-2007 à 22:03:11  profilanswer
 

jc66 a écrit :


 
 
Oui mais ca fonctionne :)
 
Merci à tous WiiDS :)


 
[:aloy]


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1651952
Shinuza
This is unexecpected
Posté le 03-12-2007 à 01:16:57  profilanswer
 

jc66 a écrit :


 
 
Oui mais ca fonctionne :)
 
Merci à tous :)

C'est à l'image de php non?


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Afficher ma fonction date.

 

Sujets relatifs
[DOS] récupérer un nom de machine en fonction d'un nom d'utilisateurRemplacer fonction mysql par odbc dans script
Attacher une fonction avec THIS sur un evenement en DOM[RESOLU] Impossible de SELECT suite au lancement d'une fonction
Modification de cellules a partir d'une fonctionptite aide en php pour une fonction mail
Recherche fonction pour ajouter plusieurs fois un meme paragraphe[Résolu] Créer flux RSS en fonction d'une DB
Intégration des touches de fonction sur un navigateur webTester /récupérer date de derniere modif fichier
Plus de sujets relatifs à : Afficher ma fonction date.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR