1. #1
    U-Labs Elite
    Avatar von DotNet
    Registriert seit
    10.06.2015
    Beiträge
    617
    Thanked 334 Times in 191 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
    U-Labs Routinier

    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
    Projektleitung
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    4.238
    Thanked 8.595 Times in 2.597 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.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191