Votre question

timestamp et php !

Tags :
  • format
  • Programmation
Dernière réponse : dans Programmation
11 Mars 2007 21:45:18

bonjour.
bon voila mon probleme. je suis papa depuis peu et j'ai crée un site ou il y a des photos et autre trucs debile de pere atarder qui adule son gosse... enfin bref, le souci c'est que je voidrais mettre son age au format ISO (jj/mm/aaaa hh:mm) en faisant la comparaison de deux timestamp. si je prend le timestamp actuel et ke je soustrais le timestamp de la naissance j'obtiens son age en secondes et la !!!! je sais pas.
ma question est la suivante : comment, en php, je peut convertire une duré en seconde au format ISO???
merci de vos reponces

Autres pages sur : timestamp php

11 Mars 2007 22:05:07

tout simplement avec la fonction date à laquelle tu passe ton timestampt en deuxieme parametre apres le format de sortie souhaité. Dans ton cas, de tête pour le format mais à vérifier sur www.php.net/date :
  1. date('d/m/Y H:i', $ageEnSecondesDuPlusBeauBebeDuMonde);

11 Mars 2007 23:33:25

re.
en fait il me faudrai un moyen de convertir x secondes (ex 1.654.452 secondes) en jj/mm/aaaa hh:mm
je suis desoler je me suis mal exprimer.
en fait j'ai pris le timestamp actuel (tsa) et le timestamp de la naissance (tsn)
je fait : tsa-tsn et j'obtien 1839214.

mon bleme c'est que si je fait :
echo date('d/m/Y H:i', $seconde_naissance);
ou $seconde_naissance est la variable ou est stocker l'age de mon fils en seconde j'obtien :
22/01/1970 07:53
ce qui est logique car c la date corespondant au timestamp de ma variable !

je desire obtenir un truc du jenre
21jours 4heure et 23 min !
je suis relou dsl!
merci
12 Mars 2007 08:27:27

Je n'ai que trouvé que ca pour le moment ( je n'avais jamais essayé de faire ce genre de compteur).

  1. <?php
  2. $naiss = mktime(0, 0, 0, 07, 27, 1992);
  3. $today = mktime();
  4. $secondes = ($today > $naiss)? $today - $naiss : $naiss - $today;
  5.  
  6. $annees = date('Y', $secondes) - 1970;
  7.  
  8. echo "Je suis né il y a $annees an" . ($annees>1?'s':null) . '.';
  9. ?>
  10.  
  11. C'est évidement très limité et à réserver aux âge inférieur à 35 (pour l'heure...).
  12.  
  13. Une fonction plus complète se trouve sur PHP.net, dans un commentaire de la fonction date(). Cette fonction formatte le jour, le mois et l'année, puis compare les valeurs entre elles pour vérifier que le nombre d'années est exact.
  14.  
  15. <?
  16. function age($naiss) {
  17. list($annee, $mois, $jour) = split('[-.]', $naiss);
  18. $today['mois'] = date('n');
  19. $today['jour'] = date('j');
  20. $today['annee'] = date('Y');
  21. $annees = $today['annee'] - $annee;
  22. if ($today['mois'] <= $mois) {
  23. if ($mois == $today['mois']) {
  24. if ($jour > $today['jour'])
  25. $annees--;
  26. }
  27. else
  28. $annees--;
  29. }
  30. echo $annees;
  31. }
  32. age('1948-05-20')
  33. ?>


Une autre source.

  1. <?php
  2.  
  3. // -- DATE 1 --
  4. $date = "22/10/1989";
  5. $jour = substr($date,0,2); // on récupère le jour
  6. $mois = substr($date,3,2); // puis le mois
  7. $annee = substr($date,6,4); // et l'annee ...
  8. // on aurait également pu plutot utiliser
  9. // list($jour,$mois,$annee) = explode("/",$date);
  10. // on transforme la date en timestamp
  11. $timestamp = mktime(0,0,0,$mois,$jour,$annee);
  12.  
  13. // -- DATE ACTUELLE --
  14. // directement en timestamp.
  15. $maintenant = time();
  16.  
  17. // -- CALCUL --
  18. // on calcule le nombre de secondes d'écart entre les deux dates
  19. $ecart_secondes = $maintenant - $timestamp;
  20. // puis on tranforme en jours (arrondi inférieur)
  21. $ecart_jours = floor($ecart_secondes / (60*60*24));
  22. // enfin on affiche le résultat
  23. setlocale("LC_TIME", "fr"
  24. echo "$ecart_jours jours se sont écoulés depuis le ".strftime("%A %d %B %Y"
  25.  
  26. ?>


Dès que j'ai un peu de temps j'essaierai de regarder d'un peu plus près.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS