Hier zwei einfache Funktionen, mit denen man in Ruby (on Rails) Daten vom deutschen dd.mm.yyyy-Format ins internationale yyyy-mm-dd-Format und umgekehrt umwandeln kann.
def date2ymd(date) # Deutsch -> International, Rückgabe als Date return Date.strptime(date, "%d.%m.%Y") end
def date2dmy(d) # International -> Deutsch, Rückgabe als String return d.to_s.sub(/(\w+)-(\w+)-(\w+)/, '\\3.\\2.\\1') end
Diese zwei Funktionen könnten gut in einen Helper in Ruby on Rails eingebaut werden.
Warum benutzt Du einen regulären Ausdruck statt die Formatierungsfunktion des Time-Objekts zu verwenden?
Ich finde
return d.strftime(“%d.%m.%Y”)
sehr viel aussagekräftiger. Und wenn die Anwendung irgendwann für andere Sprachen lokalisiert wird, auch besser auszutasuchen.
Hallo Gabriel,
inzwischen nutze ich dafür I18N.localize.
Dazu werden unter config/locales/.yml Formate definiert. Bsp.:
de:
date:
formats:
default: “%d.%m.%Y”
Diese können dann mit
< %= l d %> lokalisiert werden.