8796 sujets

Développement web côté serveur, CMS

Bonjour à tous.

J'enregistre une date dans ma base de données (dans ce format là):
date('M j Y H:i:s');


Maintenant je veux afficher, cette date, aucun problème. Par contre comment faire si je ne veux afficher que l'heure contenue dans cette date par exemple ?

Petite précision, à l'enregistrement de la date dans la base je fait :
$date = date('M j Y H:i:s');


Merci d'avance pour vos réponses.
Modifié par Remay (12 Jun 2009 - 19:22)
Salut,

Remay a écrit :
Petite précision, à l'enregistrement de la date dans la base je fait :
$date = date('M j Y H:i:s');
Tu te compliques la vie puisqu'il suffirait d'utiliser NOW() dans ta requête SQL au moment de l'INSERT.

Pour la restitution le plus simple serait d'utiliser DATE_FORMAT.
Salut,

Tu peux faire quelque chose comme :

echo date( 'H', strtotime( date('M j Y H:i:s') ) );

Mais je suis d'accord avec Heyoan, je ne vois pas l'intérêt à enregistrer la date dans ce format, puisque MySQL gère les formats date de base sous la forme YYYY-MM-DD HH:MM:SS.
Ok merci. Par contre je vois pas exactement comment utiliser NOW() dans ma requête INSERT.
Pour l'instant j'ai ça :
$idTo = $_POST['to'];
$date = date('M j Y H:i:s');
mysql_query("insert into maTable values('', '".$idTo."', '".$date."')");


Sachant que jusqu'à maintenant le champ 'date' de ma table était en varchar, je l'ai changer en DATETIME suite à la lecture de ton post. Je me demande donc comment utiliser NOW() au moment de l'insertion maintenant. Peu être quelques choses comme ça :
$idTo = $_POST['to'];
$date = NOW();
mysql_query("insert into maTable values('', '".$idTo."', '".$date."')");


Mais je sais pas pourquoi je sent que ce n'ai pas ça (pas du tout même Smiley lol )
Modifié par Remay (11 Jun 2009 - 12:44)
Il y avait un exemple un peu plus haut dans le même sujet. Smiley cligne
$idTo = $_POST['to'];
mysql_query("insert into maTable values('', '".$idTo."', now())");
Ah oui effectivement, merci.
Je vais maintenant regarder comment manipuler la date enregistrée pour en faire ce que je veux.
Je devrais trouver ce que je cherche dans tous les liens que tu m'as proposé.
Bonjour,

j'aimerai ajouté qu'il n'est pas nécessaire d'ecrire la requette en concatenant a chaque foi les variable :
$idTo = $_POST['to'];
mysql_query("insert into maTable values('', '".$idTo."', now())");

il suffit d'ecrire tout simplement
$idTo = $_POST['to'];
mysql_query("insert into maTable values('', '$idTo', now())");
C'est vrai mais l'avantage est que cela permet de rendre le code plus lisible (en fonction de l'éditeur utilisé). Smiley smile