【问题标题】:How to get week of year and week of month in Jalali (Shamsi) calendar如何在 Jalali (Shamsi) 日历中获取一年中的一周和一个月的一周
【发布时间】:2019-01-01 22:17:53
【问题描述】:

我需要在 Jalali (Shamsi) 日历中获取一年中的一周和一个月中的一周。是否有代码库或 sn-p 代码可以做到这一点?

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

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

我也想要一个月的一周。

更新:

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

【问题讨论】:

标签: java


【解决方案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.

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

【讨论】:

  • 谢谢。不幸的是,我对科特林一无所知。能否提供 Java 代码?
  • @MohammadJavadi 代码更改为 java。
  • 这个库中是否提供 startOfMonth 和 startOfWek?
  • @zohreh 当然。文档在here 可用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
  • 2019-07-27
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
相关资源
最近更新 更多