作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
使用 Java 8 java.time.LocalDate
,您可以计算农历新年日期吗?
最佳答案
如果没有外部库当然不可能,因为标准 Java 不包含中国日历。农历新年的计算需要复杂的天文计算,标准Java也没有天文支持。
解决方法是使用我的库 Time4J (v4.35) 然后编写如下代码:
LocalDate gregorian = LocalDate.now(ZoneId.of("Asia/Shanghai"));
ChineseCalendar cc = ChineseCalendar.ofNewYear(gregorian.getYear());
LocalDate newYearAsGregorian = cc.transform(PlainDate.axis()).toTemporalAccessor();
System.out.println(
newYearAsGregorian); // 2018-02-16
System.out.println(
"Year of the "
+ cc.get(ChineseCalendar.YEAR_OF_CYCLE).getZodiac(Locale.ENGLISH));
// Year of the Dog
有关更多详细信息,另请参阅 API .
关于java - 使用 Java 8 java.time.LocalDate,你可以计算农历新年日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30036803/
代码如下: <?php /** * 公农历转换(1912 - 2012) * * Usage: * // 公历1983-10-5转农历
我是一名优秀的程序员,十分优秀!