PHP date

JohnSteven
Invité n'ayant pas de compte PHPfrance

15 janv. 2011, 16:43

Bonjour !

Je suis en train de modifier une shoutbox et j'ai un petit soucis. Lorsque je recois le message, au lieu de "envoyer il y a 10 minutes" j'aimerais faire apparaitre l'heure et la date. Est-ce possible ?

J'ai trouvé la fonction qui fait ca/

Code : Tout sélectionner

private function showTime($data_comment = null) { $now = date('Y-m-d H:i:s'); $data_comment = urldecode($data_comment); $data_comment_data = substr($data_comment, 0, 10); $data_comment_curenta = substr($now, 0, 10); $nrsecunde = (strtotime($now) - strtotime($data_comment)); $nrminute = $nrsecunde / (60); $nrore = $nrminute / (60); $nroreafisat = intval($nrore); $nrminuteafisat = intval($nrminute - ($nroreafisat * 60)); $nrsecundeafisat = intval($nrsecunde - ($nroreafisat * 60 * 60) - ($nrminuteafisat * 60)); if ($nroreafisat == 1 ) {$ore = 'hour';} else {$ore = 'hours';} if ($nrminuteafisat == 1 ) {$minute = 'minute';} else {$minute = 'minutes';} if ($nrsecundeafisat == 1 ) {$secunde = 'second';} else {$secunde = 'seconds';} if($nroreafisat > 0 && $nroreafisat <= 23 && $nrminuteafisat > 0) { return $nroreafisat.' '.$ore.' '.'and'.' '.$nrminuteafisat.' '.$minute.' '.'ago'; } elseif($nroreafisat == 0 && $nrminuteafisat > 0) { return $nrminuteafisat.' '.$minute.' '.'and'.' '.$nrsecundeafisat.' '.$secunde.' '.'ago'; } elseif($nroreafisat == 0 && $nrminuteafisat == 0) { return $nrsecundeafisat.' '.$secunde.' '.'ago'; } elseif ($nroreafisat > 24) { return $data_comment; } }
Mais par quoi la remplacer ? #-o

Et autre chose, lorsque j'envoye un message qui contient le symbole '' ' '', je le recois sous forme de '' /' " Donc " l'antenne " devient " l/'antenne ", pourquoi ?

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

15 janv. 2011, 16:50

salut,

Tu a déjà la date, tu la passe en paramètre à la fonction showTime !


pour la suite tu n'a pas /' mais \' ceci est dû au paramètre magic_quote qui ajoute les \ devant les ' ou " afin de "protéger" les données.

La solution est soit de désactiver les magic_quotes, si bien sur cela est gérer correctement ensuite.
soit d'ajouter un stripslashes() avant l'affichage.


@+
Il en faut peu pour être heureux ......

JohnSteven
Invité n'ayant pas de compte PHPfrance

15 janv. 2011, 17:00

Merci pour la reponse rapide !

J'ai résolu pour la date. Je verrai avec le magic quote.