Cómo dar formato a el tiempo en CakePHP?

Estoy usando CakePHP 1.3 para escribir una aplicación, y crear un datetime campo en una base de datos.

Y yo lo llamo echo $post['Post']['created']; y me sale algo como 2011-07-03 00:00:00.

Lo que me gustaría es para que se vea más como Jan 1st 2008, 19:25.

Veo algo de documentación en 7.12.1 Formato (CakePHP manual), pero ¿cómo hacerlo?

InformationsquelleAutor Patrioticcow | 2011-07-10

3 Kommentare

  1. 3

    Necesita el formato de la fecha en que el uso de date(). Ver http://php.net/manual/en/function.date.php y http://php.net/manual/en/function.strtotime.php

    echo date('M j Y, h:i', strtotime($post['Post']['created']));

    Una mejor solución sería crear un helper. El mejor lugar para aprender acerca de estos es el Manual de CakePHP.

    • recomiendo el uso de ayudantes y funciones de contenedor para esto!
    • un poco demasiado para mí ahora mismo, pero si usted tiene un tutorial o algo de código que puedo conseguir, voy a desafiantemente conseguir una mirada sobre cómo debo hacerlo de la manera correcta
    • ¿Por qué no CakeTime mencionado?
  2. 4

    Hacerlo utilizando el construido en el pastel Time correspondencia, utilice esto:

    //controller:
    $helpers = array('Time');

    a continuación, en la vista:

    echo $this->Time->nice($post['Post']['created']);
    //outputs Tue, Jan 1st 2008, 19:25".

    Si usted está buscando para el rendimiento (aunque insignificante), que sería mejor usar date directamente como el otro cartel indica, sin tener la sobrecarga de la carga de la Time ayudante.

    Pero el ayudante es más fácil y rápido de implementar, por no mencionar abre las otras funciones auxiliares, por lo que dependerá de sus necesidades, obviamente.

  3. 0

    La manera más sencilla de hacerlo en la Torta es utilizar el tiempo de ayudante. El post anterior de dar la respuesta correcta para CakePHP 2.x, sin embargo, pidió una solución para la 1.3.
    En su escritura del controlador:

    var $helpers = array('Time');

    En su opinión, escribir:

    echo $time->niceShort($post['Post']['created']); 

    Esto ha funcionado para mí los últimos 3 años.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea