我有一个GUI,该GUI有两个组合框和一个文本框,用于输入用户的Hijiri生日。我想将那个Hijiri日期转换为一个公历日期...每个解决方案我发现要么复杂,要么不起作用..我什至检查了Joda-Time-API-伊斯兰日历(HijrahChronology),它没有任何转换方法 !!
最佳答案
tl; dr
LocalDate.from( // Convert from Hijrah chronology to ISO 8601 chronology.
HijrahDate.of( 1400 , 2 , 19 ) // Instantiate a recent birthdate using Islamic calendar.
).toString() // Generate text representing this ISO date.
1980-01-08
细节
java.time.chrono
包提供了Hijrah chronology以及其他年代。虽然我对Islamic calendar一无所知,但在我看来,您可以轻松地在ISO 8601 chronology与希杰拉年表之间进行转换。
实例化Hijrah年表。
// Instantiate a recent birth date using Islamic calendar.
HijrahDate hd = HijrahDate.of( 1400 , 2 , 19 );
System.out.println( "hd.toString(): " + hd );
hd.toString():Hijrah-umalqura AH 1400-02-19
转换为ISO 8601年表。
// Convert from Hijrah chronology to ISO 8601 chronology.
LocalDate ld = LocalDate.from( hd );
System.out.println( "ld.toString(): " + ld );
ld.toString():1980-01-08