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);
}
}