2016-11-28 12 views
1

ためICU4Jに週に月と日の表示名を取得し、我々はgeregorianカレンダーの月名と現在の日付を返すこのICU4Jにヒジュラ暦

SimpleDateFormat formatter 
       = new SimpleDateFormat ("yyyy MMM dd"); 
     String dateString = formatter.format(calendar.getTime()); 

のようなロケールで表示月の名前を取得することができます。
しかし icu4jを使用してイスラム月の月名を取得することは可能ですか?

+0

関連:https://developer.android.com/guide/topics/resources/icu4j-framework.html –

答えて

1
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())); 

出力:

AH 1438 Rabiʻ I 5, Sun 

1438 Rab. I 05 

Rabiʻ I 

Sun 

あなたは出力が特定のロケールになりたい場合は、@calendar=islamic前にそのロケールを入れています:アラビア語ロケールの

例:

ULocale locale = new ULocale("[email protected]=islamic"); 
... 

出力を:

الأحد، ٥ ربيع الأول، ١٤٣٨ هـ 

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

ربيع الأول 

الأحد 
関連する問題