2016-12-22 3 views
3

Ich versuche, Daten in verschiedenen Gebietsschemas zu unterstützen. Im Moment läuft alles gut mit dem FormatStyle.SHORT.Java lokalisiertes Datum mit benutzerdefiniertem Format

DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).withLocale(someDynamicLocale); 

Das Problem ist, dass das year Feld nur zwei Ziffern lang ist. Wenn ich versuche, diese Zeichenfolge zu analysieren "22/10/84" in welchem ​​Jahrhundert sind wir?

kann ich die anderen Formate verwendet (MEDIUM, LONG, FULL), aber in all diesen Formaten im Monat ist ein Text statt einer Nummer, und in meiner Anwendung ist nicht anwendbar.

Aus diesem Grund ist mein Traum nur, das SHORT-Format so anzupassen, dass das Feld für die Länge des Jahres auf 4 Stellen gesetzt wird.

Ist es möglich? Kann mir die DateTimeFormatterBuilder helfen?

Antwort

0

Sie können DateTimeFormatterBuilder ausprobieren, zum Beispiel, wenn Sie das Format "d.M.yyyy" möchten. Sie verwenden können:

String datePattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(
    FormatStyle.SHORT, null, IsoChronology.INSTANCE, 
    Locale.SPAIN); 

hier ein simmilar Post How do I get localized date pattern string?

ist