Formatieren eines Datumsobjekts, um ein vom Menschen lesbares Datum anzuzeigen
Hier ist, was ich möchte-display:
May 13, 2012
Hier ist, was angezeigt wird:
2012-05-13
Suchte ich für ein paar Antworten und es führte mich zu "Die Formatierung von Datums-und Schwebt in Ruby", wo es erwähnt eine mögliche Lösung:
<p class="date"><%= @news_item.postdate.to_s("%B %d, %Y") %></p>
Jedoch ändert das nichts an der Ausgabe überhaupt. Keine debug-Fehler oder Ausnahmen ausgelöst werden.
Kann ich dies tun, und es funktioniert einwandfrei:
<p class="date"><%= Time.now.to_s("%B %d, %Y") %></p>
Hier ist meine Migrations-Datei (um zu sehen, welche Daten Typ I verwendet):
class CreateNewsItems < ActiveRecord::Migration
def change
create_table :news_items do |t|
t.date :postdate
t.timestamps
end
end
end
InformationsquelleAutor der Frage sergserg | 2012-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Date.to_s
ist nicht das gleiche wieTime.to_s
. Ihrepostdate
ist einDate
so deshalb, möchten Sie vielleicht zu schauen,strftime
statt:Oder sogar schauen, um fügen Sie Ihre eigenen benutzerdefinierten Datum-format, um Ihre Rails-app:
Brauche kleine Hilfe bei der Umwandlung von Datum-format in ruby
InformationsquelleAutor der Antwort Casper
Den to_formatted_s Funktion hat bereits einige gemeinsame menschliche lesbare Formate für
DateTime
Objekte in Schienen.InformationsquelleAutor der Antwort FernandoEscher