2013-05-01 3 views
6

Ich versuche, die Wochentage in Deutsch mit der Kalenderfunktion getDisplayNames() mit deutschem Gebietsschema abzurufen.Kalender konnte die Namen der Tage nicht in anderen Sprachen als Englisch abrufen

Calendar now = Calendar.getInstance(); 
Map<String,Integer> displayNames = now.getDisplayNames(Calendar.DAY_OF_WEEK, Calendar.LONG, new Locale("de_DE")); 

Stattdessen bekomme ich den Wochentag Namen in Englisch: Sonntag, Montag, .... usw.
Mache ich etwas falsch oder es einfach nicht funktioniert? Vielleicht hat es etwas mit der toString() meiner IDEA Debugger-Konsole zu tun? Ich benutze das neueste Intellij 12.1.2.

Antwort

3

Verwendung, Locale.GERMAN oder new Locale("de") verwenden, statt new Locale("de_DE")

Map<String,Integer> displayNames = now.getDisplayNames(Calendar.DAY_OF_WEEK, 
      Calendar.LONG, Locale.GERMAN); 

Map<String,Integer> displayNames = now.getDisplayNames(Calendar.DAY_OF_WEEK, 
      Calendar.LONG, new Locale("de")); 

Es ist hilfreich für Locale(String) Konstruktor durch die Javadocs zu gehen, die sagt: "Konstruieren Sie eine locale aus einem Sprachcode". Der Sprachencode für Deutsch ist "de" nicht "de_DE".

+0

Ich habe das versucht, obwohl es das gleiche wie das Schreiben neuer Locale (de_DE) ist, die Ergebnisse sind die gleichen. – Snow

+0

* obwohl es das gleiche ist wie das Schreiben neuer Locale (de_DE) *, nein, es ist nicht, bitte sehen Sie die Antwort von Evgeniy Dorofeev. – NINCOMPOOP

+0

Sorry, ich habe mich geirrt, es funktioniert für beide Vorschläge, danke. Aber warum funktioniert die Halle nicht für "de_DE"? – Snow

2

Locale falsch ist, versuchen

Map<String, Integer> displayNames = now.getDisplayNames(Calendar.DAY_OF_WEEK, 
      Calendar.LONG, new Locale("de")); 

Ergebnis

{Donnerstag=5, Mittwoch=4, Freitag=6, Dienstag=3, Samstag=7, Sonntag=1, Montag=2} 

Locale mit einem arg Locale(String language) bedeutet

2

Anstatt eine Instanz Calendar-Klasse verwenden verwenden Sie die java.text. DateFormatSymbols, um Informationen wie die Monatsnamen, Wochentagsnamen für ein bestimmtes Gebietsschema zu erhalten. Hier ist ein Beispiel, um die Wochentagsnamen in Deutschland zu erhalten.

Verwandte Themen