提问人:Hamza Farooq 提问时间:10/10/2023 最后编辑:Anish B.Hamza Farooq 更新时间:10/11/2023 访问量:67
无法在 java 中解析一些 Umm Al-Qura 日期,出现 Invalid Hijrah month 错误
Unable to parse some Umm Al-Qura dates in java, getting Invalid Hijrah day of month error
问:
我正在尝试使用 normal、hijri 和 Ummalqura 日历在 java 中解析以下日期,但每次都得到与下面相同的异常
日期:“30-02-1405”或“30-12-1419”
DateTimeException:无效的回历月:30
注意:还有许多其他日期导致相同的问题。
对我来说,似乎我无法将日历类型正确地传递给日历函数。谁能帮我解析这些日期。
以下是我尝试过的代码
// Using the msarhan ummalqura-calendar library
Locale en = Locale.ENGLISH;
UmmalquraCalendar calnow = new UmmalquraCalendar(en);
calnow.set(1419, UmmalquraCalendar.THUL_HIJJAH, 30);
System.out.println(calnow.getTime());
// Using Java time HijrahChronology
HijrahDate dateOfBirthHijri = HijrahChronology.INSTANCE.date(1405, 2, 30);
答:
1赞
Anish B.
10/10/2023
#1
THUL_HIJJAH
(12月)(1419年)和(1405年2月)只有29天。SAFAR
因此,日期:“30-02-1405”、“30-12-1419”无效。请改用第 29 天。
对此进行更新:
Locale en = Locale.ENGLISH;
UmmalquraCalendar calnow = new UmmalquraCalendar(en);
calnow.set(1419, UmmalquraCalendar.THUL_HIJJAH, 29);
System.out.println(calnow.getTime());
或
HijrahDate dateOfBirthHijri = HijrahChronology.INSTANCE.date(1405, 2, 29);
System.out.println(dateOfBirthHijri);
输出:
> Task :Example.main()
Fri Apr 16 19:03:34 IST 1999
Hijrah-umalqura AH 1405-02-29
评论
0赞
Hamza Farooq
10/11/2023
Date 的数据源是政府数据,这些是人们的出生日期,如果您查看下面的网站,则存在第 30 天。datehijri.com/en/hijri30-12-1419togregorianconverter.html
1赞
Hamza Farooq
10/17/2023
Anish,这只是拼写差异,或者可能是发音差异,除此之外,THUL_HIJJAH与 Dhu al-Hijjah 相同,这是第 12 个月也是上个月
0赞
Anish B.
10/18/2023
@HamzaFarooq是的!你是对的。我的错。:)我不认识它。
评论
HijrahChronology.INSTANCE.date(1405, 2, 1) .with(TemporalAdjusters.lastDayOfMonth())
Hijrah-umalqura AH 1405-02-29