Comment reformater date en PHP?
Je suis en tirant les dates des différents postes à partir d'une base de données. Les dates sont au format suivant:
2009-08-12
Numeric Year - Numeric Month - Numeric Day
Comment puis-je reformater ces dates à quelque chose de plus convivial comme:
August 12, 2009
Numeric Month Numeric Date, Numeric Year
En supposant que la date obtenue à partir de la base de données mysql est stocké dans une variable appelée:
$date = $row['date_selected'];
- Il est stocké comme une chaîne de caractères dans ce formulaire, ou est la date de MySQL champ de type date? Si oui, vous pouvez le formater droit lors de la sélection d'appel.
- C'est quand vous obtenez instantanément les 3 réponses, toutes avec le même deux appels de fonction, que vous devriez réaliser la documentation aurait donné la réponse. Pour votre référence: php.net/manual
- Je suis d'accord que c'est un moyen relativement facile de regarder, si vous savez où chercher, mais il y a en fait deux méthodes en cours de discussion ci-dessous. De Plus, je pensais qu'il n'y a pas de questions trop basique, tant qu'ils sont de programmation relative. Au moins c'est ce que Joel semble toujours à dire sur le podcast....
- N'a pas vraiment d'importance. L'ensemble de ce sujet a été demandé sur beaucoup de questions il est ridicule.
- si c'est une double question, alors je suppose qu'il doit sans doute être fermé tant que tel. (Je n'ai pas ces autorisations).
- Tout à fait d'accord mais je crois que l'une des leçons les plus importantes est de savoir comment utiliser les références et la documentation. J'ai toujours trouvé ce une bonne chose de vraiment le marteau de la maison. Dans cette instance d'appel, il aime bien châtie bien, si vous voulez. De toute façon, nous allons mettre fin à cette quelque peu arbitraire débat, c'est pas comme si ce genre de chose va s'arrêter!
Vous devez vous connecter pour publier un commentaire.
date("F d, Y", strtotime($input))
strtotime()
si vous avez la possibilité d'utiliserDateTime
objet. +strtotime()
n'est pas toujours suffisant et il a connu des problèmes, mais la réponse sera certainement travailler pour la plupart des cas.Contrairement à la
strtotime
exemples, cela vous permet de garantir le mois et le jour sont interprétés dans l'ordre correct indépendamment de paramètres régionaux spécifiés sur le serveur.DateTime
doit toujours être préféré à la place destrtotime
.$date = DateTime::createFromFormat('Y-m-d', '2009-08-12')->format('F j, Y');
Voir:
- http://php.net/strtotime
- http://php.net/date
En gros, si
strtotime()
pouvez le lire correctement, vous pouvez le reformater, de toute façon vous s'il vous plaît.Dans ce cas,
Year - Month - Day
est correctement reconnustrtotime()
format, cela pourrait ne pas être le cas pour d'autres formats.strtotime()
pouvez le lire correctement, vous pouvez le faire.Vous pourriez envisager de faire votre formatage de la date dans MySQL avec votre instruction select:
http://www.w3schools.com/sql/func_date_format.asp
Vous voudrez peut-être regarder à la fonction php
strtotime
:http://php.net/manual/en/function.strtotime.php
Il va analyser un grand nombre de date de représentations d'un timestamp Unix.
Puis utilisez le
date
fonction.L'utiliser comme ceci:
//Février 1, 2005
impression de la date ("F j, Y", mktime (0,0,0,14,1,2004));
À l'aide de strtodate ou exploser de diviser le jour en ses différentes composantes, vous pouvez alors utiliser la fonction date avec le format approprié chaîne:http://php.net/manual/en/function.date.php
Sorties: "Le 12 Août 2009"