Comment faire pou retouner une date PHP

Mammouth du PHP | 545 Messages

03 sept. 2007, 00:02

Salut,

Je tâtonne un peu à mes heures perdues ... je voudrais faire un petit script qui me renvoie une suite de messages postés dans un forum !

Je me plante un peu sur la façon de renvoyer correctement la date du postage. Je voudrais une truc du genre 'Dim 19 Aoû 07 11:21:58' mais pas moyen de savoir comment faire ... je récupère, de ma base de données une valeur '1187515318' retirée d'un champ 'time int(11)' mais après ?

Je pensais m'en sortir facilement avec un truc comme:
<?php 
$lastlist->days = time() + (7 * 24 * 60 * 60);
// 7 jours; 24 heures; 60 minutes; 60secondes
//echo '<td class=" ">' . date("M-d-Y", mktime($lastlist->days)) . '</td>' ."\n"; // renvoie Jan-01-1970
//echo '<td class=" ">' . date('D-m-Y', $lastlist->days) . '</td>' ."\n";  // renvoie n'importe quoi comme date ! 
?>
Si quelqu'un pouvait m'aiguiller, ce serait assez sympa 8-)

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

03 sept. 2007, 00:37

Bonjour,

Normalement tu as un timestamp donc il suffit de le mettre en tant que 2ème argument de la fonction date...
Qu'entends tu par "renvoie n'importe quoi comme date"?
Quand tout le reste a échoué, lisez le mode d'emploi...

ViPHP
ViPHP | 5924 Messages

03 sept. 2007, 01:39

Aussi, pour savoir comment formatter ta date, tu as dans le code que tu as posté des liens vers la référence de chaque fonction. Tu y trouveras ce que tu cherches.

Mammouth du PHP | 545 Messages

03 sept. 2007, 08:16

Merci pour vos réponses, je vais chercher du côté de 'timestamp' et si je ne m'en sors pas je viens pleurer 8-)
Qu'entends tu par "renvoie n'importe quoi comme date"?

En fait, il s'agissait de la date du jour ... 'Mon-09-2007' à peu de chose prêt :lol:

Encore merci

EDIT:

J'ai essayé ceci :
<?php 
echo '<td class=" ">' . date('D M Y', $lastlist->days) . ' ' . date('H\Hi', $lastlist->days) . '</td>';
?>
Ce qui me renvoie 'Sun Aug 2007 11H21', j'aimerai avoir cela au format français ... est-ce possible ?

Merci

EDIT 2:

Voilà, j'ai une solution qui fonctionne comme je l'attendais:
<?php
echo '<td class=" ">';
setlocale(LC_TIME, "fr"); 
$date = strftime('%a  %d %b %Y', $lastlist->days);
$heure = date('H\Hi', $lastlist->days);
echo $date . ' ' . $heure;
echo '</td>';
?>
Le script me retourne 'dim 19 aoû 2007 11H21' ... si vous voyez quelque chose qui pourrait poser problème, merci de me le faire savoir :roll:

A+
Modifié en dernier par Sebe le 03 sept. 2007, 09:50, modifié 1 fois.
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 sept. 2007, 09:50

Nope, c'est à toi de l'implémenter si tu veux des noms de jour ou de mois en français :)

Edit : tu peux utiliser setlocale() également pour passer au format fr

Edit bis : bon bah tu l'as fait ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 545 Messages

03 sept. 2007, 10:09

Edit : tu peux utiliser setlocale() également pour passer au format fr

Edit bis : bon bah tu l'as fait ;)
Et oui et ce ne fut pas sans mal ... merci pour tout
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!