2009-08-11 10 views
12

Jak prawidłowo wyodrębnić czas tylko z datetime obiektu (post.created_at, aby być dokładne) z/bez wpływu TimeZone? Jak wyodrębnić wartości day, month i ? Jak wyodrębnić day/month/year poprzez niestandardowy wzór (czy to możliwe)?Praca z datetime w Rails

Odpowiedz

30

Czas w formacie String:

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") 

link do dokumentacji strftime: http://ruby-doc.org/core/classes/Time.html#method-i-strftime

Uzyskania godzinę, minuty i sekundy wartości:

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

Strzelaj, dokładnie tego potrzebowałem! Dzięki! – gmile

+2

Krótkie wyjaśnienie, przykładowy kod i link do dokumentacji. Gwiezdna odpowiedź! – Mizipzor

+0

@mizipzor: Dzięki! – Swanand

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

w lokalizacji YAML (app/config/locale/countr y_id.yml) należy zadeklarować

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

Data formatowanie powinny być zadeklarowane wewnątrz YAML pliku definicji i18n do łatwego konfigurowania i inny format daty można znaleźć tutaj.