Wie formatiert man Rails-Zeitstempel in einem besser lesbaren Format? Wenn ich einfach ausdrucke created_at
o updated_at
meiner Ansicht nach so:
<% @created = scenario.created_at %>
Dann werde ich bekommen:
2009-03-27 23:53:38 UTC
Wie formatiert man Rails-Zeitstempel in einem besser lesbaren Format? Wenn ich einfach ausdrucke created_at
o updated_at
meiner Ansicht nach so:
<% @created = scenario.created_at %>
Dann werde ich bekommen:
2009-03-27 23:53:38 UTC
El strftime
(aus Ruby's Time) und to_formatted_s
(aus dem ActiveSupport von Rails) sollten alle Ihre Anforderungen an die Zeitformatierung erfüllen können.
Vielen Dank dafür. Aber es scheint nur in der Konsole und nicht in meine Rails-Ansichten zu arbeiten.
Können Sie ein ausführlicheres Beispiel für den Code geben, den Sie in der Ansicht verwenden? In meinen View-Tests scheint er wie erwartet zu funktionieren. Wo/wie zeigen Sie @created an?
@GregCampbell: ein ausführlicheres Beispiel: @comment.created_at.strftime("%d %b %y") #Output: 05 Jul 10
. Quelle: techoctave.com/c7/posts/23-rails-date-formate
Werfen Sie einen Blick auf die I18n-Funktionalität. Sie ermöglicht es Ihnen, in Ihren Ansichten Folgendes zu tun:
<%= localize(scenario.created_at, :format => :long) %>
wobei die Formate in Ihren Gebietsschemata definiert sind. Mehr Infos
Auch
<%= l scenario.created_at, :format => :sample) %>
Und in locales/en.yml (je nach Sprache)
en:
time:
formats:
sample: '%d.%m.%Y'
Weitere Informationen finden Sie unter - http://guides.rubyonrails.org/i18n.html
Sie können verwenden strftime
um den Zeitstempel auf verschiedene Weise zu formatieren. Ich bevorzuge some_data[:created_at].strftime('%F %T')
. %F
zeigt "2017-02-08" (Kalenderdatum erweitert), und %T
zeigt "08:37:48" (Ortszeit erweitert).
Bei Problemen mit der Zeitzone fügen Sie diese Zeilen zu Ihrem config/application.rb
Datei
config.time_zone = 'your_timezone_string'
config.active_record.default_timezone = :local
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.