Я хочу преобразовать григорианскую дату в дату хиджры в java 8, используя библиотеку HijrahChronology. Я пробовал приведенные ниже коды, но они не работают точно.
Date date = new Date(); // Gregorian date
Calendar cl=Calendar.getInstance();
cl.set(Calendar.YEAR, date.getYear());
HijrahDate islamyDate = HijrahChronology.INSTANCE.date(LocalDate.of(cl.get(Calendar.YEAR),cl.get(Calendar.MONTH)+1, cl.get(Calendar.DATE)));
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("uuuu");
String gregorianString = "1994";
LocalDate gregorianDate = LocalDate.parse(gregorianString, dateFormatter);
HijrahDate islamicDate = HijrahDate.from(gregorianDate);
System.out.println("Islamic date: " + islamicDate);
Обновление: я хочу преобразовать только часть года.
java.time
API. Либо они основаны на Joda Time API, либо на устаревшем и подверженном ошибкам устаревшемjava.util
API. - person Arvind Kumar Avinash   schedule 17.08.2020java.util
с умным современным APIjava.time
. Следует полностью прекратить использование плохо разработанногоjava.util
API. - person Arvind Kumar Avinash   schedule 17.08.2020java.time.*
, что было не совсем точным, но, как вы говорите, это излишне смешивается сjava.util.Calendar
. Учитывая, что этот вопрос такой же, как этот, и старше, я бы порекомендовал вам добавить свой ответ ниже и на этот вопрос. - person mohammedkhan   schedule 17.08.2020