2009-08-11 17 views
12

Cómo extraer correctamente un tiempo desólo desde la fecha y hora objeto (post.created_at, para ser precisos) con/sin la influencia de TimeZone? ¿Cómo extraer los valores day, month y year? ¿Cómo extraer el day/month/year a través de un patrón personalizado (es posible)?Trabajo con fecha y hora en los carriles

Respuesta

30

hora en formato de cadena:

post.created_at.strftime("FORMAT STRING HERE") 
# Without the influence of time-zone: I take it that you want UTC 
post.created_at.utc.strftime("FORMAT STRING HERE") 

Enlace para la documentación strftime: http://ruby-doc.org/core/classes/Time.html#method-i-strftime

Para obtener la hora, minutos y segundos valores:

post.created_at.hour 
post.created_at.min 
post.created_at.sec 
+0

Dispara, eso es exactamente lo que necesitaba! ¡Gracias! – gmile

+2

Breve explicación, código de ejemplo y enlace a la documentación. Una respuesta estelar! – Mizipzor

+0

@mizipzor: ¡Gracias! – Swanand

0
<%= l(@issue.created_at, format: :your_format) %> 

en el entorno local YAML (app/config/locale/countr y_id.yml) debe declarar

time: 
formats: 
    your_format: '%d %b. %Y' 
    your_another_format: '%I:%M' 

Fecha formato debe ser declarado dentro de su archivo de definición de YAML i18n para una fácil configuración, y otro formato de fecha podría ser encontrado aquí.