Java阿拉伯语字符串日期解析到日期对象

Java阿拉伯语字符串日期解析到日期对象,java,string,date,object,arabic,Java,String,Date,Object,Arabic,请告诉我如何以如下所示的字符串格式解析阿拉伯日期到日期对象: DateTimeFormatter.ofpattern("yyyy dd MMMM",locale).format(islamicDate)); 现在获得字符串格式的阿拉伯日期为: 1437 06拉贾布 现在获得字符串格式的阿拉伯日期为: 如何将上述字符串转换/解析为日期对象 2017年2月16日星期四下午1:48,萨吉德·艾哈迈德写道: public class HijriDate { public static void

请告诉我如何以如下所示的字符串格式解析阿拉伯日期到日期对象:

DateTimeFormatter.ofpattern("yyyy dd MMMM",locale).format(islamicDate));
现在获得字符串格式的阿拉伯日期为:

1437 06拉贾布

现在获得字符串格式的阿拉伯日期为:

如何将上述字符串转换/解析为日期对象

2017年2月16日星期四下午1:48,萨吉德·艾哈迈德写道:

public class HijriDate {
   public static void main(String[] args) {
      HijrahDate date1 = HijrahChronology.INSTANCE.dateNow();
      System.out.println("HijrahDate date :: "+date1);
      System.out.println("hijri to gregorian from sysdate   :: "+IsoChronology.INSTANCE.date(date1).toString());

      HijrahDate hd1 = HijrahChronology.INSTANCE.date(1438,04,18);
      System.out.println("hijri to gregorian using islamic year month day ( 1 way ):: "+IsoChronology.INSTANCE.date(hd1));
      System.out.println("hijri to gregorian using islamic year month day using localDate( 2 way ):: "+LocalDate.from(hd1));

      Date date=new java.util.Date();
      Calendar cl=Calendar.getInstance();
      cl.setTime(date);
      System.out.println("Normal gregorian Date1 :: "+date);
      cl.add(Calendar.DATE,1);               
      HijrahDate islamyDate = HijrahChronology.INSTANCE.date(LocalDate.of(cl.get(Calendar.YEAR),cl.get(Calendar.MONTH)+1, cl.get(Calendar.DATE)));
      System.out.println("gregorian to hijri one day plus  :: " + islamyDate.toString());

      //HijrahDate hd = HijrahChronology.INSTANCE.date(LocalDate.of(2017,01, 16));
      System.out.println("format date MMMM  :: "+DateTimeFormatter.ofPattern("MMMM").format(islamyDate));
      System.out.println("format date MMMM  dd-MMMM-yyyy  :: "+DateTimeFormatter.ofPattern("dd-MMMM-yyyy").format(islamyDate));

      //HijrahDate hd1 = HijrahChronology.INSTANCE.date(LocalDate.of(2017,01, 16));
      //Locale locale = new Locale("ar","SA");
      Locale locale = new Locale.Builder().setLanguageTag("ar-SA-u-nu-arab").build();
      System.out.println("format dd-MMMM-yyyy :: "+DateTimeFormatter.ofPattern("dd-MMMM-yyyy", locale).format(islamyDate));

      String dop = DateTimeFormatter.ofPattern("EEEE , dd  MMMM ,yyyy", locale).format(islamyDate);    
      System.out.println("format 'EEEE , dd  MMMM ,yyyy' with number format with out number format with locale :: "+dop);    
   }
}

上面的代码无法编译,而且不完整。它没有显示您是如何定义
locale
islamicDate
的,并且您拼写错误了模式的
,并且结束语
太多。解决方案很简单,只需将
格式
替换为
解析
,但我无法验证,因为您没有提供上面的工作代码。请检查上面的代码我需要将hijiri日期作为字符串,并将其转换为hijiri日期对象如果它是数字,我可以轻松地将其转换为hijiridate,如下面的HijrahDated=Hijrah年表.INSTANCE.date(1437,07,06);但我有字符串日期,即1437 06 Rajab,现在我需要从中创建日期对象,也许在上面的链接中,hijrah字符串日期月份是在digits System.out.printf(“%s%n”,StringConverter.fromString(“6/16/1417 1”,hijrah编年史.INSTANCE));就我而言,月名是Rajab,不是07位
public class HijriDate {
   public static void main(String[] args) {
      HijrahDate date1 = HijrahChronology.INSTANCE.dateNow();
      System.out.println("HijrahDate date :: "+date1);
      System.out.println("hijri to gregorian from sysdate   :: "+IsoChronology.INSTANCE.date(date1).toString());

      HijrahDate hd1 = HijrahChronology.INSTANCE.date(1438,04,18);
      System.out.println("hijri to gregorian using islamic year month day ( 1 way ):: "+IsoChronology.INSTANCE.date(hd1));
      System.out.println("hijri to gregorian using islamic year month day using localDate( 2 way ):: "+LocalDate.from(hd1));

      Date date=new java.util.Date();
      Calendar cl=Calendar.getInstance();
      cl.setTime(date);
      System.out.println("Normal gregorian Date1 :: "+date);
      cl.add(Calendar.DATE,1);               
      HijrahDate islamyDate = HijrahChronology.INSTANCE.date(LocalDate.of(cl.get(Calendar.YEAR),cl.get(Calendar.MONTH)+1, cl.get(Calendar.DATE)));
      System.out.println("gregorian to hijri one day plus  :: " + islamyDate.toString());

      //HijrahDate hd = HijrahChronology.INSTANCE.date(LocalDate.of(2017,01, 16));
      System.out.println("format date MMMM  :: "+DateTimeFormatter.ofPattern("MMMM").format(islamyDate));
      System.out.println("format date MMMM  dd-MMMM-yyyy  :: "+DateTimeFormatter.ofPattern("dd-MMMM-yyyy").format(islamyDate));

      //HijrahDate hd1 = HijrahChronology.INSTANCE.date(LocalDate.of(2017,01, 16));
      //Locale locale = new Locale("ar","SA");
      Locale locale = new Locale.Builder().setLanguageTag("ar-SA-u-nu-arab").build();
      System.out.println("format dd-MMMM-yyyy :: "+DateTimeFormatter.ofPattern("dd-MMMM-yyyy", locale).format(islamyDate));

      String dop = DateTimeFormatter.ofPattern("EEEE , dd  MMMM ,yyyy", locale).format(islamyDate);    
      System.out.println("format 'EEEE , dd  MMMM ,yyyy' with number format with out number format with locale :: "+dop);    
   }
}