開源精選 | 支援公曆和農曆、老黃曆的日曆工具

《開源精選》是我們分享Github、Gitee等開源社群中優質專案的欄目,包括技術、學習、實用與各種有趣的內容。本期推薦的是一個支援公曆(陽曆)和農曆(陰曆、老黃曆)的日曆工具庫——Lunar。

Lunar是一個無依賴的支援陽曆和陰曆的日曆工具庫,提供了js、java、c#、php、python、go、typescript、flutter版本,不依賴第三方,目前支援公曆和農曆、星座、干支、生肖、節氣、節日、彭祖百忌、每日宜忌、吉神宜趨、凶煞宜忌、吉神方位、衝煞、納音、星宿、八字、五行、十神、建除十二值星、青龍名堂等十二神、黃道日及吉凶等。

開源精選 | 支援公曆和農曆、老黃曆的日曆工具

快速開始(Java版本):

依賴

// mavencn。6taillunar1。2。5

// gradleimplementation ‘com。github。6tail:lunar-java:v1。2。5’

示例程式碼

陽曆

// 年月日Solar d = Solar。fromYmd(2016, 1, 1);System。out。println(d);// 年月日時分秒d = Solar。fromYmdHms(2016, 1, 1, 20, 35, 0);System。out。println(d);// 日期d = Solar。fromDate(new Date());System。out。println(d。toFullString());// 儒略日d = Solar。fromJulianDay(2458960。5);System。out。println(d。toFullString());// 八字反推陽曆List l = Solar。fromBaZi(“庚子”, “辛巳”, “庚午”, “丙子”);for (Solar solar : l) {System。out。println(solar。toFullString());}

輸出

開源精選 | 支援公曆和農曆、老黃曆的日曆工具

八字

//今日八字Lunar lunar = Lunar。fromDate(new Date());EightChar d = lunar。getEightChar();System。out。println(d);System。out。println(d。getYearWuXing() + “, ” + d。getMonthWuXing() + “, ” + d。getDayWuXing() + “, ” + d。getTimeWuXing());System。out。println(d。getYearNaYin() + “, ” + d。getMonthNaYin() + “, ” + d。getDayNaYin() + “, ” + d。getTimeNaYin());System。out。println(d。getYearShiShenGan() + “, ” + d。getMonthShiShenGan() + “, ” + d。getDayShiShenGan() + “, ” + d。getTimeShiShenGan());// 年支十神System。out。println(“年支十神 = ” + d。getYearShiShenZhi());// 月支十神System。out。println(“月支十神 = ” + d。getMonthShiShenZhi());// 日支十神System。out。println(“日支十神 = ” + d。getDayShiShenZhi());// 時支十神System。out。println(“時支十神 = ” + d。getTimeShiShenZhi());// 獲取男運Yun yun = d。getYun(1);// 起運System。out。println(“出生” + yun。getStartYear() + “年” + yun。getStartMonth() + “個月” + yun。getStartDay() + “天后起運”);// 獲取大運表DaYun[] daYunArr = yun。getDaYun();for (int i=0, j=daYunArr。length; i

輸出

開源精選 | 支援公曆和農曆、老黃曆的日曆工具

其他示例:

年曆

開源精選 | 支援公曆和農曆、老黃曆的日曆工具

月曆

開源精選 | 支援公曆和農曆、老黃曆的日曆工具

老黃曆

開源精選 | 支援公曆和農曆、老黃曆的日曆工具

更多內容大家可自行前往閱讀。

開源地址:

gitee.com/6tail/lunar-java