Код: Выделить всё
final var ARABIC_GREGORIAN_DATE_FORMATTER = DateTimeFormatter.ofPattern("EEEE dd\\MM\\yyyy G").localizedBy(Locale.forLanguageTag("ar"));
final var ENGLISH_GREGORIAN_DATE_FORMATTER = DateTimeFormatter.ofPattern("EEEE dd/MM/yyyy G").localizedBy(Locale.ENGLISH);
var now = Instant.now();
String arabicGregorianDate = ARABIC_GREGORIAN_DATE_FORMATTER.format(now.atZone(ZoneId.systemDefault()));
String englishGregorianDate = ENGLISH_GREGORIAN_DATE_FORMATTER.format(now.atZone(ZoneId.systemDefault()));
Log.info("arabicGregorianDate = " + arabicGregorianDate);
Log.info("englishGregorianDate = " + englishGregorianDate);
Код: Выделить всё
arabicGregorianDate = السبت 18\10\2025 م
englishGregorianDate = Saturday 18/10/2025 AD
Код: Выделить всё
arabicGregorianDate = Sat 18\10\2025 CE
englishGregorianDate = Saturday 18/10/2025 AD
Я предполагаю, что некоторые данные (CLDR?) отсутствуют в собственном изображении и для включения этих данных необходимы некоторые настройки. Как это сделать? Попробовал агент трассировки GraalVM, но это не решило проблему.
Я также использую -H:IncludeLocales=ar,en.
Воспроизводитель: https://github.com/Eng-Fouad/graal-native-date-locale
Подробнее здесь: https://stackoverflow.com/questions/797 ... -time-data
Мобильная версия