24 Stimmen

Formatierung von Zeitstempeln

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

-1voto

user3803150 Punkte 67

Müssen Sie die Zeitstempeldatei ändern, in meinem Fall befindet sich diese Datei in /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.2.0/lib/active_record/timestamp.rb . Sie müssen nach dieser Zeile suchen:

self.class.default_timezone == :utc ? Time.now.utc : Time.now

und ändern Sie es in dies:

self.class.default_timezone == :utc ? Time.now.utc : Time.now.strftime('%Y-%m-%d %H-%M-%S')

Der Trick besteht darin, das Format mit der Option strftime Methode können Sie das Format ändern, wenn Sie möchten.

Nun wird rails Ihr Format verwenden, um die Spalte "updated_at" zu aktualisieren.

1 Stimmen

Die Änderung des Quellcodes ist nicht der richtige Weg, um dies zu erreichen. Sie können Formatierer in Ihrem eigenen Code verwenden, um die gleichen Ergebnisse zu erzielen. Wenn Sie Rails aktualisieren, würde die von Ihnen vorgeschlagene Änderung verloren gehen.

CodeJaeger.com

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.

Powered by:

X