java.time
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd-MM-uuuu");
String gregorianString = "01-08-1994";
LocalDate gregorianDate = LocalDate.parse(gregorianString, dateFormatter);
HijrahDate islamicDate = HijrahDate.from(gregorianDate);
System.out.println("Islamic date: " + islamicDate);
Это печатает:
Исламская дата: хиджра-умалькура, 1415-02-23
Я предположил, что ваша строка означала 1 августа 1994 года. Если вместо этого предполагалось 8 января, поменяйте местами dd
и MM
в строке шаблона формата в коде.
ThreeTenABP
Чтобы использовать вышеперечисленное на Android ниже API уровня 26, вам необходимо сначала добавить библиотеку ThreeTenABP в ваш проект.
У меня нет опыта, но мне сказали, что зависимости: compile group: 'org.threeten', name: 'threetenbp', version: '1.3.3', classifier: 'no-tzdb'
. Смотрите ссылки ниже для более подробной информации. Я тестировал приведенный выше код с бэкпортом, только не для Android-версии.
Ссылки