Я, как и @Hugo, думаю, что ваши исследования могли бы быть лучше.
Поддерживает ли Java-8/9 юлианский календарь?
Метод исследования: изучите официальный API.
Количество хронологий в OpenJDK ограничено только пять (см. упомянутые реализации). Никакая хронология (ИСО как пролептический григорианский, хиджра-умалькуара, минго, тайский буддизм, японский) не поддерживает юлианский календарь. Отсюда простой ответ: Нет возможности конвертации в юлианский календарь только с использованием Java-8/9-API.
Планирует ли Oracle внедрить юлианский календарь?
Метод исследования: запрос Google.
Простой поиск в Google по ключевым словам «юлианский календарь openjdk» показывает первую ссылку следующую проблему< /а>:
Юлианская календарная система была основной календарной системой, использовавшейся до нынешней григорианской/ISO. Из-за его широкого исторического использования, особенно в области истории/академии, JDK должен его поддерживать.
Реализация доступна на сайте ThreeTen-Extra. Обратите внимание, что эта проблема не требует календаря, который может «переключаться» между юлианским и григорианским.
Этот вопрос был представлен основным автором нового java.time-API С. Колеборном еще в 2015 году. У Oracle было много времени, чтобы добавить предложенную законченную реализацию в Java-9, но она упустила его. Что касается того факта, что Oracle отказался от некоторых других календарных систем (таких как персидский или иврит) или даже выбросил существующие хронологии (например, коптский, который был частью OpenJDK-8 перед выпуском), я не был бы очень уверен, что Oracle действительно собирается добавить юлианский календарь в более позднюю версию Java в контексте java.time
-API. Давайте посмотрим.
Можем ли мы использовать другие сторонние библиотеки для преобразования java.time.LocalDate
?
Метод исследования: запрос Google.
Простой поиск в Google по ключевым словам «юлианский календарь Java» показывает массу возможных решений. Просто наберитесь терпения и изучите хотя бы ссылки первых 10 страниц результатов поиска:
Да, можем.
Если вы хотите или знаете, как преобразовать java.time.LocalDate
в java.util.GregorianCalendar
(совет: используйте часовой пояс для преобразования сначала в ZonedDateTime
, а затем в старый API): Установите дату перехода по григорианскому календарю на new Date(Long.MAX_VALUE)
.
Или используйте Joda-Time: он предлагает Julian хронология. Пример преобразования:
LocalDate threeten = LocalDate.now();
org.joda.time.LocalDate joda =
new DateTime(
threeten.getYear(),
threeten.getMonthValue(),
threeten.getDayOfMonth(),
0,
0
).withChronology(JulianChronology.getInstance()).toLocalDate();
LocalDate threeten = LocalDate.now();
JulianCalendar jcal = PlainDate.from(threeten).transform(JulianCalendar.axis());
person
Meno Hochschild
schedule
30.10.2017
LocalDate
- поскольку вы не указали конкретно, я подумал, что его можно использовать. Если бы вы сказали, что не хотите заниматься математикой самостоятельно и вместо этого использовать встроенную функцию API, я бы не предложил дублировать. В любом случае, если вы не хотите, чтобы вопрос выглядел так, будто он не требует никаких усилий, приложите усилия к вопросу. Мы не сможем догадаться, что вы пробовали, если вы нам не расскажете. - person   schedule 29.10.2017