前端日历实现:公历、农历、黄历、星座、节气、天干、地支、八字、星宿、五行...

2023-11-21 17:10:55 浏览数 (2)

今天来分享一个超级强大的日历工具库:lunar,它支持阳历、阴历、佛历和道历等,基本满足大多数日历需求!

概述

lunar 是一个支持阳历、阴历、佛历和道历的日历工具库,其不依赖第三方,支持阳历、阴历、佛历、道历、儒略日的相互转换,还支持星座、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。

lunar 提供了多种开发语言的版本,包括 JavaScript、TypeScript、Flutter、Php、Java、swift、c#、Python、Go。

案例

下面来看一些简单的案例:

  • 老黄历
  • 年历
  • 仿百度搜索月历
  • 月历
  • 农历月历
  • 周历
  • 佛历月历
  • 道历月历
  • 摸鱼通知

基本使用

这个工具库只提供了一些 API,并没有提供现成的日历组件。

比如,阴历支持获取年月日、时辰、星期、节日、干支、禄、生肖、节气、物候、数九、三伏、六曜、二十八星宿、七政(七曜)、 四宫、四神兽、 彭祖百忌、八卦方位、吉神方位、胎神方位、太岁方位、冲煞、纳音、八字、十神、旬、旬空(空亡)、建除十二值星、十二天神、每日宜忌、时辰宜忌、吉神凶煞、月相、九星、日期推移、转阳历、转佛历、转道历。

代码语言:javascript复制
 
// 二十八宿
const d = Lunar.fromDate(new Date());

console.log(d.getXiu());
console.log(d.getAnimal());
console.log(d.getXiuLuck());
console.log(d.getXiuSong());

// 输出结果
壁
獝
吉
壁星造作主增财,丝蚕大熟福滔天,奴婢自来人口进,开门放水出英贤,埋葬招财官品进,家中诸事乐陶然,婚姻吉利主贵子,早播名誉著祖鞭。

阳历支持获取年月日、儒略日、获取星期、是否闰年、节日、星座、日期推移、日期相减、日期比较、薪资比例、转阴历。

代码语言:javascript复制
 
// 年月日
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,可以根据自己的需求选择性使用。

Github:https://github.com/6tail/lunar-javascript

0 人点赞