获取java.time.chrono.HijrahDate实例的月份名称

时间:2014-11-25 07:31:20

标签: java-8 hijri umalquracalendar

HijrahDate hd=HijrahChronology.INSTANCE.date(LocalDate.of(2014,11, 25));

如果我们有HijrahDate实例,则应在UmalquraCalendar API中显示一个显示月份名称的方法:

我使用 groovy API

检查此实例的属性
['era':AH, 
'class':class java.time.chrono.HijrahDate, 
'prolepticMonth':17233,
 'eraValue':1,
 'dayOfWeek':2,
 'leapYear':false, 
'chronology':Hijrah-umalqura, 
'dayOfYear':32] 

但是,我们找不到必须是以下列表项之一的月份名称:

  
      
  1. Muḥarram(محرم的意思是“被禁止的”),因为战斗而被称为   禁止(哈拉姆)这个月。 Muharram包括Day of   修罗。
  2.   
  3. Ṣafar(صفر的意思是“无效”),据说是因为   异教徒的阿拉伯房屋在他们的居住者的这个时候是空的   聚集的食物。
  4.   
  5. Rabī'I(Rabī'al-Awwal,ربيعالأول)意为“   第一个春天“。

  6.   
  7. Rabī'II(Rabī'ath-Thānīربيعالثاني或Rabī'al-Ākhir   ربيعالآخ

  8.         

    .....................   ............ SEE

因此,由于没有属性保存月份的名称,因此可以使用方法检索此信息吗?

这个方法是什么?

3 个答案:

答案 0 :(得分:5)

日期不包含有关月份或日期名称的信息。为此,你需要一个格式化程序:

System.out.println(DateTimeFormatter.ofPattern("MMMM").format(hd));

打印Safar

答案 1 :(得分:3)

由于UmalQura的主要语言是阿拉伯语langugage,开发者&使用UmalQuraCalender的程序员想要以阿拉伯语显示月份。因此,我们基于@assylias回答我们可以添加区域设置对象来打印صفر而不是Safar

System.out.println(DateTimeFormatter.ofPattern("MMMM").format(hd,new Locale("ar")));

答案 2 :(得分:0)

public String getIslamicDate(){
    return  DateTimeFormatter.ofPattern("MMMM",new Locale("ar")).format(HijrahDate.now());
}

我认为这应该可以正常工作,并用阿拉伯语返回月份