J'ai des dates stockées dans une table mysql, elles sont définies pour être stockées en tant que TIMESTAMP CURRENT dans chaque ligne et sont stockées comme suit:
2010-05-29 01:17:35
mais ce que j'essaie de faire est d'utiliser en quelque sorte PHP pour pouvoir tout séparer et créer une date plus comme:
29 mai 2010 01:17
quelqu'un peut-il au moins me diriger dans la bonne voie que je devrais prendre. Toute aide est grandement appréciée!
echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));
Vous avez deux solutions:
strtotime()
pour analyser la date sur un horodatage, et date()
pour le reformater en une chaîneDateTime
En PHP, cela signifierait utiliser:
echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));
Ou :
$dt = new DateTime('2010-05-29 01:17:35');
echo $dt->format('M j Y g:i A');
strtotime
+ date
est la solution que vous verrez la plus utilisée; mais ce n'est pas la meilleure solution: avec ceux-ci, vous travaillerez sur les horodatages UNIX, ce qui signifie une plage limitée de dates (de 1970 à 2038, si vous utilisez des entiers 32 bits).
D'un autre côté, en utilisant la classe DateTime
, il n'y aura pas de limite à la plage de dates avec laquelle vous pouvez travailler.
Si vous avez un champ DATETIME
dans votre table et que vous ne voulez que le champ date, alors:
SELECT DATE_FORMAT(timestamp,'%M %D, %Y') FROM Mytable;
ou:
SELECT DATE_FORMAT(timestamp,'%Y-%m-%d') FROM Mytable;
où timestamp
est le nom de votre colonne.