// you’re reading...

Ruby/Rails

Ruby Date in deutsches Format umwandeln

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.

Bookmarken:
Hat Ihnen dieser Beitrag gefallen? Abonnieren Sie Codegods kostenlos!
  • del.icio.us
  • Google Bookmarks
  • Live
  • MisterWong
  • Technorati
  • StumbleUpon

Ähnliche Beiträge

Discussion

2 Kommentare zu “Ruby Date in deutsches Format umwandeln”

  1. 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.

    Posted by Gabriel | 11.10.10, 12:50
  2. 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.

    Posted by Sebastian Henke | 20.10.10, 23:00

Kommentieren