前端日歷實現(xiàn):公歷、農歷、黃歷、星座、節(jié)氣、天干、地支、八字、星宿、五行...
大家好呀,我是 CUGGZ。今天,公眾號兩周年啦!感謝三萬多股東們兩年來的支持,未來大家繼續(xù)一起努力,快速晉升、大幅漲薪!
今天來分享一個超級強大的日歷工具庫:lunar,它支持陽歷、陰歷、佛歷和道歷等,基本滿足大多數(shù)日歷需求!
概述
lunar 是一個支持陽歷、陰歷、佛歷和道歷的日歷工具庫,其不依賴第三方,支持陽歷、陰歷、佛歷、道歷、儒略日的相互轉換,還支持星座、干支、生肖、節(jié)氣、節(jié)日、彭祖百忌、每日宜忌、吉神宜趨、兇煞宜忌、吉神方位、沖煞、納音、星宿、八字、五行、十神、建除十二值星、青龍名堂等十二神、黃道日及吉兇等。
lunar 提供了多種開發(fā)語言的版本,包括 JavaScript、TypeScript、Flutter、Php、Java、swift、c#、Python、Go。
案例
下面來看一些簡單的案例:
- 老黃歷
圖片
- 年歷
圖片
- 仿百度搜索月歷
圖片
- 月歷
圖片
- 農歷月歷
圖片
- 周歷
圖片
- 佛歷月歷
圖片
- 道歷月歷
圖片
- 摸魚通知
圖片
基本使用
這個工具庫只提供了一些 API,并沒有提供現(xiàn)成的日歷組件。
比如,陰歷支持獲取年月日、時辰、星期、節(jié)日、干支、祿、生肖、節(jié)氣、物候、數(shù)九、三伏、六曜、二十八星宿、七政(七曜)、 四宮、四神獸、 彭祖百忌、八卦方位、吉神方位、胎神方位、太歲方位、沖煞、納音、八字、十神、旬、旬空(空亡)、建除十二值星、十二天神、每日宜忌、時辰宜忌、吉神兇煞、月相、九星、日期推移、轉陽歷、轉佛歷、轉道歷。
// 二十八宿
const d = Lunar.fromDate(new Date());
console.log(d.getXiu());
console.log(d.getAnimal());
console.log(d.getXiuLuck());
console.log(d.getXiuSong());
// 輸出結果
壁
獝
吉
壁星造作主增財,絲蠶大熟福滔天,奴婢自來人口進,開門放水出英賢,埋葬招財官品進,家中諸事樂陶然,婚姻吉利主貴子,早播名譽著祖鞭。
陽歷支持獲取年月日、儒略日、獲取星期、是否閏年、節(jié)日、星座、日期推移、日期相減、日期比較、薪資比例、轉陰歷。
// 年月日
var d = Solar.fromYmd(2016, 1, 1);
console.log(d);
// 年月日時分秒
d = Solar.fromYmdHms(2016, 1, 1, 20, 35, 0);
console.log(d);
// 日期
d = Solar.fromDate(new Date());
console.log(d.toFullString());
// 儒略日
d = Solar.fromJulianDay(2458960.5);
console.log(d.toFullString());
// 八字反推陽歷
var l = Solar.fromBaZi('庚子', '辛巳', '庚午', '丙子');
for (var i=0, j=l.length; i < j; i++) {
d = l[i];
console.log(d.toFullString());
}
lunar 提供了很多 API,可以根據自己的需求選擇性使用。