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

时间:2019-01-01 13:41:25

标签: java

我需要在Jalali(Shamsi)日历中获得一年中的某周和每月的某周。是否有图书馆或一小段代码可以做到这一点?

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

System.out.println(JalaliCalendar.weekOfYear(32,1397));

我也想有一个月的某个星期。

更新

我使用以下库: https://github.com/razeghi71/JalaliCalendar/

1 个答案:

答案 0 :(得分:1)

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

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

<dependency>
    <groupId>com.ibm.icu</groupId>
    <artifactId>icu4j</artifactId>
    <version>59.1</version>
</dependency>

这是波斯日历的示例用法:

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

知道CalendarULocale来自com.ibm.icu.util.Calendarcom.ibm.icu.util.ULocale重要 java.util

如果您在理解代码方面有任何疑问,请随时提出。