Я работаю над проектом на Java, и мне нужно изменить разные типы дат друг на друга, например (григорианский на китайский и наоборот и григорианский на хиджру и наоборот). Я пытаюсь использовать Time4j, у которого есть возможность конвертировать разные типы дат друг в друга, но, к сожалению, я не понял, как работать с этой библиотекой, даже после того, как попытался прочитать ее документацию.
Прямо сейчас я пытаюсь преобразовать григорианскую дату в китайскую дату, но я не могу получить нормальный год в китайской дате, когда я использую object.getYear()
, он возвращает циклический год, но мне нужен обычный год, например 2019.
Это мой код:
import net.time4j.PlainDate;
import net.time4j.calendar.ChineseCalendar;
public class DateConverter {
static PlainDate gregorian = PlainDate.nowInSystemTime();
static ChineseCalendar obj = gregorian.transform(ChineseCalendar.axis());
public static void main(String[] args) {
String result = obj.getMonth() + "/" + obj.getDayOfMonth() + "/" + obj.getYear() ;
System.out.println(result); // 8/30/ji-hai(36)
System.out.println(obj); // chinese[ji-hai(2019)-8-30]
}
}
Мне нужен этот тип года ji-hai(2019), и он находится в методе toString()
по умолчанию, и когда я использую метод object.getYear()
, он возвращает ji-hai(36).
Теперь, как мне изменить возвращаемое значение с ji-hai(36) на ji-hai(2019). Кроме того, если я хочу получить дату по григорианскому календарю от пользователя, как мне подготовиться к этому преобразованию? Могу ли я получить его как текст String и привести его к дате по григорианскому календарю, а затем использовать его? Возможно ли?
Также, если вы знаете хороший ресурс, который объясняет использование классов и методов Time4j на примере, поделитесь им со мной.
благодарю вас.