我从用户那里取一年的号码。怎么才能把它转换成年号呢?最好不是使用jodatime,而是使用time4j或java 8。
例句:我需要从2016年起就有年数。
我找到这篇文章了,在Android中是否有任何用于波斯日历(Shamsi或Jalali)的库或算法?
System.out.println(jalali.transform(PlainDate.class)); // 2015-03-25但是方法转换不起作用。
此外,我还找到了这篇文章,将hijri转换为gregorian:从Hijri日期字符串中获取gregorian日期。
但我需要从格里高利到希里。
发布于 2016-04-30 13:10:31
“但是方法转换不起作用”这句话。应该读为“不编译”。
原因是HijriCalendar代表了一系列不同的变体(例如Umalqura)。技术背景:这个类继承自CalendarVariant而不是Calendrical。因此,编译器强制您在transform()-method和两个论点一起使用。第二个参数指定HijriCalendar的变体。示例:
PlainDate today = SystemClock.inLocalView().today();
HijriCalendar umalqura =
today.transform(HijriCalendar.class, HijriCalendar.VARIANT_UMALQURA);
HijriCalendar westIslamicCivil =
today.transform(HijriCalendar.class, HijriAlgorithm.WEST_ISLAMIC_CIVIL);
System.out.println(umalqura); // AH-1437-07-23[islamic-umalqura]
System.out.println(westIslamicCivil); // AH-1437-07-22[islamic-civil]此示例还演示了为什么指定变量很重要。你会看到一天的不同(在同一天)!实际上,Time4J支持11个变体。umalquara变体是沙特阿拉伯的官方日历,而8个算法变体应该被解释为近似,并有一个更广泛的有效性范围。
一旦有了HijriCalendar的实例,就可以轻松地获得hijri年:
int hijriYear = umalqura.getYear();
System.out.println("Year (hirji-umalqura): " + hijriYear); // 1437https://stackoverflow.com/questions/36953299
复制相似问题