我知道这个问题被问过很多次,但是我没有找到正确的方法。我有一个String
日期,如1994年1月8日。我想将其转换为Hijri
日期。
使用IslamicCalendar
。
答案 0 :(得分:2)
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd-MM-uuuu");
String gregorianString = "01-08-1994";
LocalDate gregorianDate = LocalDate.parse(gregorianString, dateFormatter);
HijrahDate islamicDate = HijrahDate.from(gregorianDate);
System.out.println("Islamic date: " + islamicDate);
此打印:
回教日期:Hijrah-umalqura AH 1415-02-23
我假设您的字符串表示1994年8月1日。如果打算改用1月8日,则在代码的格式模式字符串中交换dd
和MM
。
要在API级别低于26的Android上使用以上内容,您需要首先将ThreeTenABP库添加到您的项目中。
我没有经验,但是我被告知依赖项是:compile group: 'org.threeten', name: 'threetenbp', version: '1.3.3', classifier: 'no-tzdb'
。有关更多详细信息,请参见下面的链接。我已经使用backport测试了上面的代码,但没有测试过它的Android版本。
java.time
。java.time
。java.time
向Java 6和7(JSR-310的ThreeTen)的反向端口。答案 1 :(得分:0)
最后,我在此new library 中找到了解决方案。