首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在icu4j for islamicCalendar中获取逐月和一周的显示名称

在icu4j for islamicCalendar中获取逐月和一周的显示名称
EN

Stack Overflow用户
提问于 2016-11-28 07:15:06
回答 1查看 884关注 0票数 1

在icu4j中,我们可以按地区获得显示月份名称,如下所示

代码语言:javascript
复制
 SimpleDateFormat formatter
                = new SimpleDateFormat ("yyyy MMM dd");
        String dateString = formatter.format(calendar.getTime());

其中返回当前日期,并在geregorian日历中使用月份名称。

但是使用icu4j可以得到伊斯兰月的月份名称吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-04 02:51:41

代码语言:javascript
复制
ULocale locale = new ULocale("@calendar=islamic");
Calendar islamicCalendar = Calendar.getInstance(locale);

// full date
DateFormat df = DateFormat.getDateInstance(DateFormat.FULL, locale);
System.out.println(df.format(islamicCalendar.getTime()));

// date in "yyyy MMM dd" format
SimpleDateFormat df1 = new SimpleDateFormat ("yyyy MMM dd", locale);
System.out.println(df1.format(islamicCalendar.getTime()));

// name of month 
SimpleDateFormat df2 = new SimpleDateFormat (SimpleDateFormat.MONTH, locale);
System.out.println(df2.format(islamicCalendar.getTime()));

// name of weekday
SimpleDateFormat df3 = new SimpleDateFormat (SimpleDateFormat.WEEKDAY, locale);
System.out.println(df3.format(islamicCalendar.getTime()));

产出:

代码语言:javascript
复制
AH 1438 Rabiʻ I 5, Sun

1438 Rab. I 05

Rabiʻ I

Sun

如果希望输出位于特定的区域设置中,请将该区域设置放在@calendar=islamic之前。

阿拉伯语地区的例子:

代码语言:javascript
复制
ULocale locale = new ULocale("ar@calendar=islamic");
...

产出:

代码语言:javascript
复制
الأحد، ٥ ربيع الأول، ١٤٣٨ هـ

١٤٣٨ ربيع الأول ٠٥

ربيع الأول

الأحد
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40838935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档