2013-03-25 14 views
11

Nella mia vista Rails, ho il codice seguente che visualizza un datetime.Come si formatta il datetime nei binari?

<%= link_to timeslot.opening, [@place, timeslot] %> 

Il risultato di questa linea è qui sotto:

2013-02-02 01:00:00 UTC 

Come faccio a cambiare questo modo viene visualizzato come:

2/2/13: X:00 PST 
+1

Try - timeslot.opening.strftime (% d /% m /% y:% H:% M:% S% Z) – Ash

+0

È possibile utilizzare il [** timbro ** gemma] (https: // github .com/jeremyw/stamp) o [** strftime **] (http://strfti.me/). –

risposta

17

Usa rubino di strftime() su date/datetimes:

<%= link_to timeslot.opening.strftime("%Y %m %d"), [@place, timeslot] %> 

Dai un'occhiata a the documentation per scoprire come funziona la formattazione.

+0

Grazie! Questo e la documentazione è super utile. Non sono stato in grado di trovare come convertire un intervallo di tempo tra due fusi orari. Nel mio esempio, l'ora è attualmente in UTC ma vorrebbe che mostrasse PST. Sai come potrei abilitare questo? – sharataka

+0

Benvenuto :) Fare riferimento a questo: http://stackoverflow.com/questions/6118779/how-to-change-default-timezone-for-activerecord-in-rails3 – weltschmerz

+0

perfetto, grazie per l'aiuto! – sharataka

5

si dovrebbe usare un aiuto per questo.

Se si desidera convertire da UTC a PST è possibile utilizzare il in_time_zone metodo di

def convert_time(datetime) 
    time = Time.parse(datetime).in_time_zone("Pacific Time (US & Canada)") 
    time.strftime("%-d/%-m/%y: %H:%M %Z") 
end 

<%= link_to convert_time(timeslot.opening), [@place, timeslot] %> 
0

per ottenere la data precisa formattazione che si sta cercando nel tuo esempio utilizzare il seguente stringa di formato strftime "%-d/%-m/%y: %k:00 PST"

Tuttavia, potrebbe non essere esattamente quello che vuoi. Per chiarire nella tua domanda (a) cosa vuoi fare con il campo del tempo (es. Vuoi sempre mostrare un orario all'ora? X: 00) e (b) vuoi sempre segnalare le ore PST o vuoi stampare il fuso orario effettivo o vuoi convertire t a PST ??

Problemi correlati