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

点击上方 前端Q,关注公众号

回复加群,加入前端Q技术交流群

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

概述

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

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

案例

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

  • 老黄历

  • 年历

  • 仿百度搜索月历

  • 月历

  • 农历月历

  • 周历

  • 佛历月历

  • 道历月历

  • 摸鱼通知

基本使用

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

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

 
// 二十八宿
const d = Lunar.fromDate(new Date());

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

// 输出结果



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

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

 
// 年月日
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

往期推荐


JavaScript全栈解决方案比较:Angular、React、Vue.js的对比
27岁的前端,从二本run到澳洲🦘的故事分享
面试官:跨页面通信的方式有哪些?

最后

  • 欢迎加我微信,拉你进技术群,长期交流学习...

  • 欢迎关注「前端Q」,认真学前端,做个专业的技术人...

点个在看支持我吧

相关推荐

  • 改变axios的用法后,我的工作效率提升了3倍
  • 开源白板+AI:画出UI需求,自动获得代码
  • Spring Boot 3.x 最简集成 Spring Doc-OpenApi
  • Vite 5.0 正式发布,整了哪些活?
  • 请珍惜现在的工作机会
  • 被誉为 JavaScript 中 最难最常见 的手写题之一!!!
  • vue props的不规范使用破坏了props的单向数据流动
  • 15篇MyBatis-Plus系列集合篇「值得收藏学习」
  • 总结了十个Vue3超级实用但是很冷门的API
  • 11月24日,OC城市行·深圳站「操作系统与AI技术应用实践沙龙」邀你参与!
  • 99%的程序员容易忽视的“系统”健康问题
  • 纯CSS实现炫酷文本时钟
  • 和小伙伴们仔细梳理一下 Spring 国际化吧!从用法到源码!
  • 在农村,谁家孩子在华为、腾讯、阿里、字节上班,亲朋乡邻羡慕不已,年薪百万
  • 全新升级!Supabase 与 Next.js 14 的完美融合
  • 2024年不容错过的网站开发技术新趋势
  • 揭秘Java中的瑞士军刀——ArrayList源码解析
  • 轻量级文件快递柜,像拿快递一样取文件
  • 微软230页报告,像素级评估GPT-4前沿科研能力:潜力无限速速上车!
  • 起底OpenAI「国王」Ilya:师从Hinton,为了他,马斯克与谷歌创始人彻底决裂