2009-09-09 9 views

Répondre

2

Vous pouvez utiliser strptime pour analyser la chaîne dans un datetime, puis strftime pour la reformater dans la chaîne de votre choix.

8

Vous pouvez utiliser le core TimeHelper à format et test dates/heures.

Pour l'utiliser, vous devez ajouter le TimeHelper à votre tableau de commande $helpers:

var $helpers = array('Time'); 

Ensuite, de la vue, vous pouvez formater vos variables date/heure:

// assuming $variable['Model']['field_name'] = '2009-09-09 12:00:00': 
echo $this->Time->format('F jS, Y', $variable['Model']['field_name']); 
// => 'September 9th, 2009' 
echo $this->Time->format('j M Y', $variable['Model']['field_name']); 
// => '9 Sep 2009' 

Depuis cette méthode est finalement un wrapper, utilisez la table dans la documentation PHP pour la fonction date() pour déterminer comment écrire la chaîne de format. À partir de la version 1.3, si vous inversez l'ordre des paramètres (date en premier, format en second), il essaiera de respecter le format de date de vos paramètres régionaux. La commande ci-dessus fonctionnera toujours pour la rétrocompatibilité. Plus de détails au bas de this page dans le guide de migration.

+0

Merci! Cependant, je ne suis pas sûr si c'est un 1.3 ou pas, mais j'ai dû le changer de $ uses à $ helpers dans le contrôleur pour le faire fonctionner. –

+0

Oh, votre droite, c'était une erreur. J'ai corrigé ma réponse. – deizel

2

Utilisez l'assistant de temps comme mentionné par deizel.

Je consulte le fichier /cake/libs/view/helpers/time.php pour voir s'il existe une fonction qui fournit le format d'heure que vous recherchez.

Les fonctions temporelles relatives sont particulièrement agréable:

<?php echo $time->nice($dateValue); ?> 
<?php echo $time->timeAgoInWords($dateValue); ?> 

Vous pouvez apprendre beaucoup à la lecture de la source CakePHP.

2

Cela devrait faire:

<?php echo date('M js Y', strtotime($post['Post']['date'])); ?> 

Ici, Post est le nom du modèle et la date est le nom du champ.

Questions connexes