Wie kann ich Zahlen mit DateTimeFormatter lokalisieren?Java

Java-Forum
Anonymous
 Wie kann ich Zahlen mit DateTimeFormatter lokalisieren?

Post by Anonymous »

Die Klasse java.time.format.DateTimeFormatter funktioniert nicht ordnungsgemäß für Gebietsschemas, die unterschiedliche Symbole zur Darstellung von Zahlen verwenden.
Sprachen wie Persisch (auch Farsi genannt) verwenden unterschiedliche Symbole und Unicode-Zeichen zur Darstellung von Zahlen:

Persische Ziffern: ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹

Westliche Ziffern: 0 1 2 3 4 5 6 7 8 9
Zum Beispiel:

Code: Select all

Locale myLocale = Locale.forLanguageTag("fa");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy", myLocale);
formatter.format(LocalDate.now()); // should return "۲۰۲۰" but returns "2020"
Ich sollte sagen, dass die DateFormat-Klasse, die zum Formatieren von Java-Legacy-Datumsdatens verwendet wird, wie erwartet funktioniert.
Verwandt: Was ist der Unterschied zwischen withLocale() und localizedBy() in Java DateTimeFormatter?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post