1. #1
    Avatar von DotNet
    Registriert seit
    10.06.2015
    Beiträge
    661
    Thanked 316 Times in 185 Posts

    Standard C# DateTime Wochentag in Deutsch übersetzen

    Die DateTime-Klasse bietet mit DayOfWeek ein praktisches Enum für alle Wochentage. Ich benötige den Wochentag einer DateTime-Instanz als Bezeichnung auf Deutsch, also Montag, Dienstag und so weiter. Der String soll dem Nutzer angezeigt werden, daher ist mir eine korrekte Übersetzung wichtig.

    string weekDayName = DateTime.Now.DayOfWeek.ToString();

    Liefert mir den Tag auf Englisch (Monday, Tuesday, ...). Gibt es eine Lokalisierungsmöglichkeit für .NET, die mir den Tag in der Culture des Users ausgibt? Das würde ich gegenüber einem Workaround bevorzugen, der die Enum-Werte von DayOfWeek in den String des jeweiligen Wochentages mappt.

    Im Krieg gibt es keine Gewinner, nur Verlierer!

  2. #2

    Registriert seit
    18.03.2013
    Beiträge
    481
    Thanked 264 Times in 168 Posts

    Standard AW: C# DateTime Wochentag in Deutsch übersetzen

    Nutz' die GetDayName-Funktion:

    var cul = new System.Globalization.CultureInfo("de-DE");
    Console.WriteLine(cul.DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek));
    Geändert von xOneDirectionx (08.04.2017 um 17:42 Uhr)



    [www.piratenpartei.de]
    "Krieg ist Frieden; Freiheit ist Sklaverei; Unwissenheit ist Stärke"

  3. The Following 3 Users Say Thank You to xOneDirectionx For This Useful Post:

    DMW007 (08.04.2017), DotNet (08.04.2017), TomatenKetchup (13.04.2017)

  4. #3
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: C# DateTime Wochentag in Deutsch übersetzen

    Ergänzend würde es sich noch anbieten, die globale CultureInfo der Anwendung zu nutzen:
    string weekDayName = CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek);
    

    Diese wird in der Regel korrekt vom installierten Betriebssystem ermittelt. Bei Bedarf lässt sie sich aber auch manuell setzen, zum Beispiel für eine händische Sprachauswahl. Der Vorteil liegt darin, dass du die Lokalisierung 1x für die gesamte Anwendung machst. Solltest du diese mal auf z.B. Englisch ändern, sind keinerlei Anpassungen am Code notwendig. Kommt natürlich immer drauf an, was man machen möchte. Aber tendenziell würde ich die globale CultureInfo der selbst erzeugenden vorziehen.


  5. The Following 2 Users Say Thank You to DMW007 For This Useful Post:

    Darkfield (09.04.2017), DotNet (08.04.2017)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 22.03.2016, 13:59
  2. Antworten: 6
    Letzter Beitrag: 01.02.2016, 15:47
  3. Wie würdet ihr den achten Wochentag nennen?
    Von Mr.Bombastic im Forum OffTopic
    Antworten: 11
    Letzter Beitrag: 22.09.2012, 15:21
  4. Wochentag berechnen
    Von Snees im Forum PHP
    Antworten: 7
    Letzter Beitrag: 11.04.2012, 20:43
  5. [C#] Text mit Google übersetzen
    Von Festplatte im Forum .Net
    Antworten: 0
    Letzter Beitrag: 08.01.2012, 01:29
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.