2011-03-23 4 views
1

Comment puis-je faire écho 2011-01-31 au 31 janvier 2011? L'entrée (2011-01-31) provient de la base de données (type: date).Comment faire écho 2011-01-31 au 31 janvier 2011?

Y a-t-il une option pour utiliser les noms de locale pour le mois?

Edit:

$date = date_create($row['bdate']); 
echo date_format($date, 'd F Y'); //31 January 2010 

pourrait être une solution, mais date_format n'a pas d'option pour d'autres langues (?). y-a-t'il une solution? Comme 31 Ocak 2011

+0

Je me demande pourquoi quelqu'un voudrait partir à la beauté de l'ISO 8601 :( – Joey

+0

@Joey , parce que quand je vois 01-02-2011 sur un site web, je pense: "WTF est-ce maintenant? Lequel est le mois et qui on est jour?! Arr! Il suffit de cliquer sur le bouton fermer l'onglet et de ne plus jamais revenir sur ce site stupide ... "D'un autre côté, 2 Ocak 2011 ou 1 Şubat 2011 est clair – ilhan

+0

ilhan: Il était en partie censé être plaisant, mais YYYY-MM-DD est et trie bien :-) – Joey

Répondre

4

Probablement est strftime ce que vous cherchez.

Exemple: echo strftime('%d %B %Y', strtotime($db_entry));

+3

+1 strftime() respecte les paramètres régionaux alors que date() ne le fait pas –

4

Utilisez strtotime pour convertir 2011-01-31 un horodatage:

echo date('d F Y', strtotime($row['bdate'])); 
1

Essayez d'utiliser strftime()

$date = strtotime($row['bdate']); 
echo strftime('%d %B %Y', $date); 
Questions connexes