web-dev-qa-db-fra.com

Format date de la base de données?

Quand je tire la date de la base de données, cela revient comme ceci:

2009-10-14T19: 00: 00

Je veux le formater de deux manières différentes ...

Le premier: F d, Y Le second h: m (format 12 heures)

Tout ce que j'essaye revient en décembre 1969 ... Au secours?! Je me sens tellement confus ... 

21
n00b0101

Normalement, le code est juste:

echo date('F d, Y h:mA', strtotime('2009-10-14 19:00:00'));

Notez que si strtotime() ne peut pas trouver la date, il renvoie l’heure sous la forme 1/1/1970 00:00:00 GMT .

54
too much php

Si vous voulez le formater dans la base de données (en supposant que MySQL):

SELECT DATE_FORMAT(t.column, '%M %D, %Y'), --October 14, 2009
       DATE_FORMAT(t.column, '%h:%i %p') --hh:mm am/pm
  FROM TABLE t

... ou si vous voulez faire la conversion en PHP:

echo date('F d, Y h:mA', strtotime('2009-10-14 19:00:00'));

Référence:

6
OMG Ponies

Fonction d'affichage de la date simple:

 echo date('m-d-Y H:i:s',strtotime($date_variable));
5
Gaurav Gupta

Le meilleur de tous et clair

$res_tbl ='select create_date from tbl_comments';
while($table =mysql_fetch_array($res_tbl))
{
  echo date('F d, Y h:mA', strtotime($table['create_date']));
  echo "<br>";
}

Sortie:

January 10, 2009 21:12
March 21, 2001  12:04
2
Shahid Karimi

Vous voudrez peut-être vérifier strtotime

0