gpt4 book ai didi

java.time.DateTimeException : Hijrah date out of range 异常

转载 作者:行者123 更新时间:2023-11-29 08:34:54 27 4
gpt4 key购买 nike

今天我发现了 Java 的 8 Hijrah 日期,我正在尝试将 Hijri 日期转换为 Gregorian 日期;我一直收到此错误:

java.time.DateTimeException: Hijrah 日期超出范围

    String repayDate = date.substring(0, 4)+"-"+date.substring(4, 6)+"-"+date.substring(6, 8);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date inputDate = dateFormat.parse(repayDate);
Calendar cl=Calendar.getInstance();
cl.setTime(inputDate);


HijrahDate hDate= HijrahChronology.INSTANCE.date(LocalDate.of(cl.get(1),cl.get(Calendar.MONTH)+1, cl.get(Calendar.DATE)));


return IsoChronology.INSTANCE.date(hDate).toString() ;

日期的内容是:1400-01-01

谢谢

最佳答案

根本不需要使用 DateFormatCalendar - 如果您可以使用 Java 时间 API,则应该避免使用遗留 API。

这里是一个简单的例子,可以根据你的输入“工作”:

String date = "14000101";

TemporalAccessor ta = DateTimeFormatter.ofPattern("uuuuMMdd")
.withChronology(HijrahChronology.INSTANCE)
.parse(date);
HijrahDate hDate = HijrahDate.from(ta);

System.out.println("hDate = " + hDate);
System.out.println("Gregorian date = " + IsoChronology.INSTANCE.date(hDate).toString());

关于java.time.DateTimeException : Hijrah date out of range 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900816/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com