我需要在Jalali(Shamsi)日历中获得一年中的某周和每月的某周。是否有图书馆或一小段代码可以做到这一点?
我使用了JalaliCalendar,但只有一年中的一周
System.out.println(JalaliCalendar.weekOfYear(32,1397));
我也想有一个月的某个星期。
更新:
答案 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);
知道Calendar
和ULocale
来自com.ibm.icu.util.Calendar
和com.ibm.icu.util.ULocale
是重要。 否 java.util
。
如果您在理解代码方面有任何疑问,请随时提出。