I Bartosz Antwort mögen, aber hey, da dies Rails wir reden Lasst es uns einen Schritt weiter machen. (Edit: Obwohl ich wollte gerade die folgende Methode monkeypatch, stellt sich heraus, ein sauberer Weg.)
DateTime
Instanzen haben eine to_formatted_s
Methode von Active geliefert, die ein einzelnes Symbol als Parameter annimmt und wenn das Symbol Wird ein gültiges vordefiniertes Format erkannt, wird ein String mit der entsprechenden Formatierung zurückgegeben.
Diese Symbole werden durch definiert, was ein Hash der Symbole für Zeichenfolgen für die Standardformatierungsfunktion ... oder Procs ist. Bwahaha.
d = DateTime.now #Examples were executed on October 3rd 2008
Time::DATE_FORMATS[:weekday_month_ordinal] =
lambda { |time| time.strftime("%a %b #{time.day.ordinalize}") }
d.to_formatted_s :weekday_month_ordinal #Fri Oct 3rd
Aber hey, wenn Sie nicht die Gelegenheit widerstehen können monkeypatch, man kann immer geben, dass eine saubere Schnittstelle:
class DateTime
Time::DATE_FORMATS[:weekday_month_ordinal] =
lambda { |time| time.strftime("%a %b #{time.day.ordinalize}") }
def to_my_special_s
to_formatted_s :weekday_month_ordinal
end
end
DateTime.now.to_my_special_s #Fri Oct 3rd
Sie könnten das Wort "Suffix" in Ihrer Frage oder Ihrem Titel verwenden, um dies für andere leichter zu finden. Ich bin nicht sicher, ob es ein anderes Wort dafür gibt, wenn man über Daten spricht. –
Ausgezeichnete Frage. Ich habe erst vor ein paar Tagen über dasselbe nachgedacht - sehr hilfreich. – RichH