2013-05-01 12 views
6

Próbuję uzyskać dni tygodnia w języku niemieckim za pomocą funkcji kalendarza getDisplayNames() z niemieckim locale.Kalendarz nie mógł uzyskać nazwy dni w różnych językach niż angielski

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

Zamiast tego pojawia się dzień tygodnia nazwami w języku angielskim: niedziela, poniedziałek, .... itd
Czy robię coś źle lub po prostu nie działa? Może ma to coś wspólnego z toString() mojej IDEA debuggera? Używam najnowszego Intellij 12.1.2.

Odpowiedz

3

użytkowania Locale.GERMAN lub użyj new Locale("de") zamiast 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")); 

Jest to pomocne, aby przejść przez Javadocs dla Locale(String) konstruktora, który mówi "Narysuj locale z kodem języka". Kod języka dla języka niemieckiego to "de" nie "de_DE".

+0

Próbowałem tego, chociaż jest to to samo, co pisanie nowych ustawień regionalnych (de_DE), wyniki są takie same. – Snow

+0

* chociaż jest to to samo, co pisanie nowego locale (de_DE) *, nie, nie, proszę zobaczyć odpowiedź Evgeniya Dorofeeva. – NINCOMPOOP

+0

Przepraszam, że się pomyliłem, działa to dla obu twoich sugestii, dzięki. ale dlaczego sala nie działa dla "de_DE"? – Snow

2

Locale jest źle, spróbuj

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

Wynik

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

Locale oznacza jeden z arg Locale(String language)

2

zamiast korzystania instancję klasy Kalendarz użyć java.text. DateFormatSymbols, aby uzyskać informacje, takie jak nazwy miesięcy, nazwy dni tygodnia dla określonych ustawień narodowych. Oto przykład, aby uzyskać nazwy dni tygodnia w Niemczech.

Powiązane problemy