Как получить неделю года по еврейскому календарю - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь найти неделю года для евреев, чтобы использовать ее в глобальном приложении, которое предоставляет общие услуги по международному календарю.

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Вы можете попробовать мою библиотеку Time4J , которая предлагает еврейский / еврейский календарь и использовать следующий код:

HebrewCalendar hebcal = HebrewCalendar.nowInSystemTime();
int weekOfYear = hebcal.getInt(HebrewCalendar.WEEK_OF_YEAR);

Используется модель / определение недели по умолчанию в Израиле, который начинает неделю в воскресенье (после субботы).

О совместимости с java.time:

LocalDate gregorian = hebcal.transform(PlainDate.class).toTemporalAccessor();
HebrewCalendar jewish = PlainDate.from(gregorian).transform(HebrewCalendar.class);
0 голосов
/ 28 ноября 2018

Вы можете сослаться на ссылку здесь , которая предоставляет пример, который может вам помочь:

JewishCalendar israelCalendar = new JewishCalendar(5775, JewishDate.NISSAN, 7);
    israelCalendar.setInIsrael(true); //set the calendar to Israel
    JewishCalendar chutsLaaretzCalendar = new JewishCalendar(5775, JewishDate.NISSAN, 7);
    chutsLaaretzCalendar.setInIsrael(false); //not really needed since the API defaults to false
    HebrewDateFormatter hdf = new HebrewDateFormatter();
    System.out.println("Date\tChutz Laaretz / Eretz Yisrael"));

for(int i = 0; i < 57; i++){
        israelCalendar.forward(); //roll the date forward a day
        chutsLaaretzCalendar.forward(); //roll the date forward a day
        if(chutsLaaretzCalendar.getDayOfWeek() == 7){ //ignore weekdays
            System.out.println(hdf.formatParsha(chutsLaaretzCalendar) + "\t" + hdf.formatParsha(israelCalendar) + " \\ " + hdf.format(chutsLaaretzCalendar));
        }
    }
...