java - Java 中 Jalali 日历的一个好的日期转换器?

标签 java date localization calendar jalali-calendar

我正在开发一个 Java 应用程序并且我有一个 timeStamp(在 long 中)。我可以轻松地使用此代码将其更改为公历日期:

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

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

最佳答案

为了更好的本地化和语言支持,使用 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));

这将输出:

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

关于java - Java 中 Jalali 日历的一个好的日期转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23385434/

相关文章:

ios - DateComponentsFormatter 显示前导零

javascript - 增加字段上的日期

在SwiftUI中使用字符串插值进行本地化

java - 如何检查对 ArrayList 中的元素进行排序需要多少遍?

java - 默认 Android Studio 项目的错误

java - Spring Batch 如何以 Reader 身份读取多个表(查询)并将其写入平面文件写入

java - 多行java正则表达式中的反向引用

java - Spring Java 日期到日期模式验证

typescript - RequireJS + Bootstrap 日期选择器 + 区域设置文件

c# - WinForms 动态本地化