Java 如何在Jalali(Shamsi)日历中获取年中的周和月中的周

Java 如何在Jalali(Shamsi)日历中获取年中的周和月中的周,java,Java,我需要在Jalali(Shamsi)日历中获得一年中的一周和一个月中的一周。是否有一个库或代码片段可以这样做 我用了JalaliCalendar,但它只有一年中的一周 System.out.println(JalaliCalendar.weekOfYear(32,1397)); 我也想要一个月中的一周 更新: 我使用以下库: 我建议您com.ibm.icu。它包含一个很棒的Jalali日历库 如果您的项目是基于maven的,则可以使用以下依赖项: <dependency>

我需要在Jalali(Shamsi)日历中获得一年中的一周和一个月中的一周。是否有一个库或代码片段可以这样做

我用了JalaliCalendar,但它只有一年中的一周

System.out.println(JalaliCalendar.weekOfYear(32,1397));
我也想要一个月中的一周

更新:

我使用以下库:
我建议您
com.ibm.icu
。它包含一个很棒的Jalali日历库

如果您的项目是基于maven的,则可以使用以下依赖项:

<dependency>
    <groupId>com.ibm.icu</groupId>
    <artifactId>icu4j</artifactId>
    <version>59.1</version>
</dependency>
重要的是要知道
Calendar
ULocale
来自
com.ibm.icu.util.Calendar
com.ibm.icu.util.ULocale
java.util


如果您在理解代码方面有任何问题,请毫不犹豫地询问。

您的
JalaliCalender
图书馆地址是什么?Github上有很多。可能是@oleg.cherednik的副本:不是。我想要一个特定的功能,而不仅仅是一个日期转换器。谢谢。不幸的是,我对科特林一无所知。你能提供Java代码吗?@MohammadJavadi代码改为Java。startOfMonth和startOfWek在这个库中可用吗?@zohreh当然可以。文件是可用的。
//configuration
ULocale locale = new ULocale("@calendar=persian");
Calendar calendar = Calendar.getInstance(locale);
calendar.setFirstDayOfWeek(7); //Make Saturdays first day of the week.

//usage
calendar.setTime(new Date());
int year = calendar.get(Calendar.YEAR);
int weekOfYear = (calendar.get(Calendar.YEAR_WOY) == year)? calendar.get(Calendar.WEEK_OF_YEAR) : 53;
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);