如何获得犹太历一年中的一周

How to get week of year for Jewish calendar

我试图在全球应用程序中找到犹太人一年中的哪一周来使用它,该应用程序提供有关国际日历的一般服务。

您可以参考 link here,其中提供了可能对您有帮助的示例:

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));
        }
    }

您可以试试我的库 Time4J,它提供 Jewish/Hebrew 日历并使用以下代码:

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

它使用以色列的 default week model/definition 星期日开始一周(安息日之后)。

关于与 java.time 的互操作性:

LocalDate gregorian = hebcal.transform(PlainDate.class).toTemporalAccessor();
HebrewCalendar jewish = PlainDate.from(gregorian).transform(HebrewCalendar.class);