Java中Jalali Calendar的一个很好的日期转换器?[已关闭]

我正在开发一个Java应用程序,我有一个(在)。我可以很容易地使用此代码将其更改为公历日期:timeStamplong

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timeStamp);

但我需要在贾拉利日历中有日期。我搜索了一下,但没有找到任何好的图书馆。您知道一个可靠且良好的库用于转换(或从)以Jalali格式创建日期?我不需要实现或算法,因为这个问题太错误并且有很多规则,我需要一个可靠的解决方案timeStamp


答案 1

为了获得更好的本地化和语言支持,使用 IBM 的 ICU(Unicode 国际组件)库通常很方便。

这些 API 类似于标准的 Java API,但增加了对本地化和国际化的额外支持(例如,时间和日历问题、排序、格式化规则和具有适当 Unicode 支持的正则表达式实现)。

要创建波斯日历并以波斯语输出格式化的日期,例如,您可以执行如下操作:

import com.ibm.icu.text.DateFormat;
import com.ibm.icu.util.Calendar;
import com.ibm.icu.util.ULocale;

...

ULocale locale = new ULocale("fa_IR@calendar=persian");

Calendar calendar = Calendar.getInstance(locale);
DateFormat df = DateFormat.getDateInstance(DateFormat.FULL, locale);

System.out.println(df.format(calendar));

这将输出:

چهارشنبه ۱۰ اردیبهشت ۱۳۹۳ ه‍.ش.


答案 2

看看这个:https://github.com/amirmehdizadeh/JalaliCalendar

代码看起来不错,基于maven的项目,很多单元测试。