2017-05-04 3 views
1

Ich hätte gerne ein DateTimeFormat.shortDate() ohne das Jahr, so dass es auf Deutsch wie 02.01 angezeigt wird und auf Englisch wie 01/02 angezeigt wird.DateTimeFormat shortDate ohne Jahr

Im Moment verwende ich Folgendes.

return DateTimeFormat.shortDate() 
    .withLocale(Locale.getDefault()) 
    .print(dateTime); 

Wie kann ich im Stich gelassen vermeiden DateTimeFormat das Jahr ausdrucken?

+0

Sie in Deutsch 02.01 bedeuten und in Englisch 02.01 – LLL

+0

Ja Entschuldigung:

Eine weitere Option, wenn Sie wissen, dass Sie nur einige Locales unterstützt, könnten Sie Ihre eigene Karte mit den benötigten Formaten wie machen. Misch es auf. – Niklas

+1

Mögliches Duplikat von [Lokalisiertes Datumsformat ohne Jahr mit Joda-Zeit] (http://stackoverflow.com/questions/33168198/localized-date-format-without-year-with-joda-time) –

Antwort

0

Ihre Frage bereits beantwortet:

Localised Date format without year with Joda Time

Wenigstens gibt es ein gutes Beispiel dafür, wie mit dem Thema befassen.

Map<Locale, DateTimeFormatter> formats = new HashMap<>(); 

formats.put(Locale.US, DateTimeFormat.forPattern("dd/MM")); 
formats.put(Locale.GERMAN, DateTimeFormat.forPattern("MM.dd")); 

DateTimeFormatter dateTimeFormatter = Optional.ofNullable(formats.get(Locale.getDefault())) 
    .orElse(DateTimeFormat.forPattern(DEFAULT_PATTERN)); 

dateTimeFormatter.print(DateTimeUtils.today()); 
+1

Willkommen bei StackOverflow! Sobald Sie 15 Ruf haben, können Sie Beiträge als Duplikate markieren. Das ist die Sache in dieser Situation. Sie sollten nicht eine Antwort mit dieser Art von Ding posten :) – Michael

+0

Ok, danke für Informationen, werde mein Bestes tun. –

Verwandte Themen