by Anonymous » 26 Aug 2025, 11:34
Java 8 führte eine moderne Datum und Uhrzeit -API mit neuen Typen wie LocalDate in java.time vor.* Paket. Es lieferte auch eine neue DateTimeFormatter -Klasse für Formatierung (Generierung von Zeichenfolgen aus diesen Zeiten). PrettyPrint-Override ">
Code: Select all
DateTimeFormatter.ofPattern("yyyy-MM-dd")
// or
DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)
// or
DateTimeFormatter.ISO_LOCAL_DATE_TIME
// or
new DateTimeFormatterBuilder().appendValue(ChronoField.YEAR).toFormatter()
Sie alle geben eine unveränderliche DateTimeFormatter Instanz zurück. class = "Lang-Java PrettyPrint-Override">
Code: Select all
DateTimeFormatter
.ofPattern("yyyy-MM-dd")
.withChronology(JapaneseChronology.INSTANCE) // New instance with this chronology
.withDecimalStyle(DecimalStyle.of(Locale.of("fa"))) // New instance with this decimal style
Aber in diesen Fällen ist Lokalisierung (zumindest das numerische System) nicht korrekt:
- Bei der Angabe kein Gebietsschale für das Formater (d. H. Implizit implizit das System/Java -Lokale)
- , wenn Sie das Default -Orte verwenden. Eine Formatterinstanz und Verwendung von
- Wenn Sie das Gebietsschema in OfPattern ("...", MyLocale) Methode der DateTimeFormatter
- verwenden, verwenden Sie das Gebietsummächel in TOFORMTUMTER (MyLocale) methods -methode mit datetimeForm>
Code: Select all
var myLocale = Locale.forLanguageTag("fa");
var formatter = new SimpleDateFormat("yyyy-MM-dd", myLocale);
var myDate = formatter.parse("2025-06-28");
formatter.format(myDate); // ۲۰۲۵-۰۶-۲۸
< /code>
ICU4J formatiert auch die Zahlen sowohl für Legacy als auch für moderne Java-Typen: < /p>
var myLocale = Locale.forLanguageTag("fa");
var formatter = com.ibm.icu.text.SimpleDateFormat("yyyy-MM-dd", myLocale);
var myDate = LocalDate.of(2025, 6, 28);
formatter.format(myDate); // ۱۴۰۴-۰۴-۰۷
Als ein weiteres Beispiel lokalisiert JavaScript auch alles ordnungsgemäß alles (einschließlich Ziffern), wenn die Daten mit seiner Tolocalestring () oder tolocaledateString () Methoden:
">"> ">"Code: Select all
let myDate = new Date(2025, 5, 28);
myDate.toLocaleDateString("fa"); // ۱۴۰۴/۴/۷
Frage
Was ist der Unterschied zwischen WithLocale () und localizedBy () , und wenn lokalisiert by () ein zuverlässigeres Ergebnis erzeugt, was ist der Punkt mit LOCALE () ? /> Wie lokalisiert man Zahlen mit DateTimeFormatter? />https://en.wikipedia.org/wiki/eastern_arabic_numerals
https://unicode-org.atlassian.net/brows ... 5878881/li>
Java 8 führte eine moderne Datum und Uhrzeit -API mit neuen Typen wie LocalDate in java.time vor.* Paket. Es lieferte auch eine neue DateTimeFormatter -Klasse für Formatierung (Generierung von Zeichenfolgen aus diesen Zeiten). PrettyPrint-Override ">[code]DateTimeFormatter.ofPattern("yyyy-MM-dd")
// or
DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)
// or
DateTimeFormatter.ISO_LOCAL_DATE_TIME
// or
new DateTimeFormatterBuilder().appendValue(ChronoField.YEAR).toFormatter()
[/code]
Sie alle geben eine unveränderliche DateTimeFormatter Instanz zurück. class = "Lang-Java PrettyPrint-Override">[code]DateTimeFormatter
.ofPattern("yyyy-MM-dd")
.withChronology(JapaneseChronology.INSTANCE) // New instance with this chronology
.withDecimalStyle(DecimalStyle.of(Locale.of("fa"))) // New instance with this decimal style
[/code]
Aber in diesen Fällen ist Lokalisierung (zumindest das numerische System) nicht korrekt:
[list]
[*] Bei der Angabe kein Gebietsschale für das Formater (d. H. Implizit implizit das System/Java -Lokale)
[*], wenn Sie das Default -Orte verwenden. Eine Formatterinstanz und Verwendung von
[*] Wenn Sie das Gebietsschema in OfPattern ("...", MyLocale) Methode der DateTimeFormatter
[*] verwenden, verwenden Sie das Gebietsummächel in TOFORMTUMTER (MyLocale) methods -methode mit datetimeForm>
[code]var myLocale = Locale.forLanguageTag("fa");
var formatter = new SimpleDateFormat("yyyy-MM-dd", myLocale);
var myDate = formatter.parse("2025-06-28");
formatter.format(myDate); // ۲۰۲۵-۰۶-۲۸
< /code>
ICU4J formatiert auch die Zahlen sowohl für Legacy als auch für moderne Java-Typen: < /p>
var myLocale = Locale.forLanguageTag("fa");
var formatter = com.ibm.icu.text.SimpleDateFormat("yyyy-MM-dd", myLocale);
var myDate = LocalDate.of(2025, 6, 28);
formatter.format(myDate); // ۱۴۰۴-۰۴-۰۷
[/code]
Als ein weiteres Beispiel lokalisiert JavaScript auch alles ordnungsgemäß alles (einschließlich Ziffern), wenn die Daten mit seiner Tolocalestring () oder tolocaledateString () Methoden:
">"> ">"[code]let myDate = new Date(2025, 5, 28);
myDate.toLocaleDateString("fa"); // ۱۴۰۴/۴/۷
[/code]
Frage
Was ist der Unterschied zwischen WithLocale () und localizedBy () , und wenn lokalisiert by () ein zuverlässigeres Ergebnis erzeugt, was ist der Punkt mit LOCALE () ? /> Wie lokalisiert man Zahlen mit DateTimeFormatter? />https://en.wikipedia.org/wiki/eastern_arabic_numerals
https://unicode-org.atlassian.net/browse/icu-23071?focusedCommentionId=185878881/li>