2010-01-26 9 views
6

Je voudrais changer la mise en forme d'une date dans Symfony 1.4Comment formater un type de date getUpdatedAt() dans Symfony?

La valeur par défaut étant:

<?php echo $question->getUpdatedAt(); 
// Returns 2010-01-26 16:23:53 
?> 

Je voudrais ma date à formater comme ceci: 26/01/2010 - 16h23

I essayé en utilisant la classe format_dateDateHelper.

Malheureusement, le API est plutôt vide (quelque chose doit vraiment être fait à ce sujet.)

Parcourir le code source de l'aide, j'ai trouvé qu'un deuxième argument, le format, peut être passé.

J'ai supposé qu'il utilisait la même syntaxe que PHP's date function. Mais voici ce qu'il génère (même exemple que ci-dessus):

<?php sfContext::getInstance()->getConfiguration()->loadHelpers('Date'); 
// [...] 
echo format_date($question->getUpdatedAt(),'d/m/y - H\hi') 
// Returns 26/23/2010 - 16\4i 

Je suis sûr que je ne suis pas le premier de la difficulté à le faire, mais je l'ai été googler autour et rien précis montré.

Avez-vous une idée de la façon de formater une date dans Symfony 1.4?

Répondre

14

Jetez un oeil à la new functions in 1.4.

Vous pouvez faire:

$question->getDateTimeObject('updated_at')->format('d.m.Y'); 
// I assume the field's name is 'updated_at' 

De la documentation:

Setters et Getters

Nous avons ajouté deux nouvelles méthodes pour récupérer Doctrine Date ou horodatage valeurs comme instances d'objet PHP DateTime.

echo $article->getDateTimeObject('created_at')->format('m/d/Y'); 

Vous pouvez également définir une valeur de date en appelant simplement la méthode setDateTimeObject et passer une instance DateTime valide.

$article->setDateTimeObject('created_at', new DateTime('09/01/1985')); 

Mais il semble que de travailler pour la doctrine.

1

Comment se passe la fonction de date PHP par défaut? date('d/m/Y', strtotime($question->getUpdatedAt())

+0

plus facile que je préfère en utilisant l'aide format_date, savez-vous quels mots clés le paramètre de format utilise? –

0

Vous pouvez également utiliser la classe sfDateFormat pour travailler avec des dates. link text

-4

-vous essayer:

echo $question->getUpdatedAt('d/m/y - H\hi') 

Je pense que c'est la façon

+0

Mauvaise réponse, car cela ne fonctionne pas. –

Questions connexes